文件包含
我们已经知道,#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版权协议,转载请附上原文出处链接和本声明。