C语言包含头文件时用引号和尖括号的区别

用尖括号 #include <>:
    一般用于包含标准的库头文件,编译器会去系统配置的库环境变量和者用户配置的路径去搜索,而不会在项目的当前目录去查找

用双引号 #include "":
    一般用于包含用户自己编写的头文件,编译器会先在项目的当前目录查找,找不到后才会去系统配置的库环境变量和用户配置的路径去搜索

尖括号和双引号,区别不是很重要的。其实编译器搜索包含文件,是依据搜索路径环境设置,那是很灵活的。一般说推荐用尖括号,不过是减少搜索路径加快预处理速度的意思,无所谓对错,从最保守地搜索所有可能的路径来说,用双引号不用考虑那么多,那是作最大范围的搜索。无论如何,这个区别只影响编译时预处理阶段的运行,对程序最终效果没影响。

时间: 2024-10-12 16:25:03

C语言包含头文件时用引号和尖括号的区别的相关文章

C++包含头文件时尖括号和双引号区别

原文链接:http://c.biancheng.net/cpp/biancheng/view/66.html 如果你还看一些别的C++教程,那么你可能很早就发现了,有些书上的#include命令写作#include <文件名>,但有时候又会出现#include "文件名".你会很疑惑,到底哪个是对的呢?为什么要有这两种不同的写法呢? 这两种写法都是正确的写法,但是它们却是有区别的.我们知道C++已经有一些编写好的头文件(比如标准函数库等等),它们存放在VC++的Includ

include包含头文件的语句中,双引号和尖括号的区别

include包含头文件的语句中,双引号和尖括号的区别 #include <>格式:引用标准库头文件,编译器从标准库目录开始搜索 #incluce ""格式:引用非标准库的头文件,编译器从用户的工作目录开始搜索 预处理器发现 #include 指令后,就会寻找后跟的文件名并把这个文件的内容包含到当前文件中.被包含文件中的文本将替换源代码文件中的#include指令,就像你把被包含文件中的全部内容键入到源文件中的这个位置一样. #include 指令有两种使用形式 #incl

C++中#include包含头文件带 .h 和不带 .h 的区别

C++中#include包含头文件带 .h 和不带 .h 的区别? 如 #include <iostream> 和 #include <iostream.h> 包含的东西有哪些不同? 之前在写C++程序的时候只知道使用 #include <iostream> 的时候,使用函数前要用 using namespace std; 导入命名空间,而 #include <iostream.h> 则不用,这个得看C+ +标准化过程为C++开发者做了哪些有意义的工作. (

ios import双引号和尖括号的区别

双引号:是指先在项目源码中目录搜索然后再进行系统目录搜索 尖括号:是指先系统目录中搜索然后再源码目录中搜索 eg:这就意味着,当系统里(如/usr/include/里)有一个叫做math.h的头文件,而你的源代码目录里也有一个你自己写的math.h头文件,那么使用尖括号时用的就是系统里的,而使用双引号的话则会使用你自己写的那个

include包含头文件的语句中,双引号和尖括号的区别是什么?

include包含头文件的语句中,双引号和尖括号的区别是什么?  #include <> 格式:引用标准库头文件,编译器从标准库目录开始搜索 尖括号表示只在系统默认目录或者括号内的路径查找,通常用于包含系统中自带的头文件; 尖括号:在包含文件目录中去查找(包含目录是由用户在设置环境时设置的),而不在源文件目录去查找: #incluce "" 格式:引用非标准库的头文件,编译器从用户的工作目录开始搜索 双引号表示先在程序源文件所在目录查找,如果未找到则去系统默认目录查找,通常

include 包含头文件的语句中 , 双引号和尖括号的区别是什么 ?

#incluce ""格式: 引用非标准库的头文件,编译器从用户的工作目录开始搜索.双引号表示先在程序源文件所在目录查找,如果未找到则去系统默认目录查找,通常用于包含程序作者编写的头文件:尖括号表示只在系统默认目录或者括号内的路径查找,通常用于包含系统中自带的头文件. 尖括号:在包含文件目录中去查找(包含目录是由用户在设置环境时设置的),而不在源文件目录去查找: 双引号:首先在当前的源文件目录中查找,若未找到才到包含目录中去查找. 详解: 预处理器发现 #include 指令后,就会寻

C语言宏定义技巧——多次包含头文件内容不同

1.  头文件定义如下: /* declears in "funcs.h" */ FUNC_1(ID_FUN1_001) FUNC_1(ID_FUN1_002) FUNC_2(ID_FUN2_001) FUNC_2(ID_FUN2_002) 2.  多次包含头文件 #define FUNC_1(opt) opt, #define FUNC_2(opt) enum aaa { #include "funcs.h" ID_FUN1_END }; #undef FUNC_

C语言之头文件,static与const关键字

[前言] 最近几个月在做一个C语言代码重构的项目,过程中也让我对之前在书本上学习到的东西有些补充和巩固,在本博中总结记录下,梳理下零碎的知识点和经验也加深印象,书写是为了更好地思考.平时也都是用印象笔记之类的自己写写笔记,今天整理成博客,以便自己以后回顾. [正文] C语言头文件:将其理解为C语言模块化编程向外提供一个接口描述文件.一般包括一些供外部函数或者文件使用的变量声明,函数声明,数据类型定义以及宏定义等.举例: /*************************************

C/C++ 引入头文件时 #include&lt;***.h&gt; 与 #include&quot;***.h&quot; 区别

两种情况区分: 1.#include <> 编译器只会去系统文件目录中查找,找不到就报错. 2.#include " "  编译器会先在用户目录中查找,再到编译器设定的目录中查找,最后到系统文件中目录中查找. 以上注意点: 1.情况1用于系统自带头文件 2.情况2用于用户自己编写头文件 3.两种情况理论上都可以用 #include " " 形式,但是标准头文件或系统头文件使用其形式会导致编译效率降低 4.在C++11标准中,包含C++提供的标准头文件或系