C语言#include<>和#include“ “的区别

文件包含

我们已经知道,#include 指令可以使另外一个文件被编译。就像它实际出现于#include指令的地方一样。

这种替换的方式很简单:

预处理器先删除这条指令,并用包含文件的内容替换。

这样一个源文件被包含10次,那就实际被编译10次。

头文件被包含的方式:

本地文件包含

#include "filename"

查找策略:先在源文件所在目录下查找,如果该头文件未找到,编译器就像查找库函数头文件一样在标准位置查找头文件。
如果找不到就提示编译错误。

Linux环境的标准头文件的路径:

/usr/include

VS2013环境的标准头文件的路径:

C: \ Program Files (x86)\Microsoft visual studio 12.0 \vc\include

库文件包含

#include <filename>

<>和" "包含头文件的本质区别是:查找的策略的区别

" " :1.自己代码所在的目录下查找,2.如果第1不找不到,则在库函数的头文件目录下查找

< >:直接去库函数头文件所在的目录下查找

查找头文件直接去标准路径下去查我、如果找不到就提示编译错误。

这样是不是可以说,对于库文件也可以使用" "的形式包含?
答案是可以的。

但是这样做查找的效率就低些,当然这样也不容易区分是库文件还是本地文件了。


版权声明:本文为weixin_46251230原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。