#include 搜索路径

C中可以通过 #include <stdio.h> 和 #include "stidio.h" ,区别是:

#include <stdio.h> ,直接到系统指定目录去查找头文件。

#include "stidio.h" ,会先到当前目录查找头文件,如果没找到在到系统指定目录查找。

gcc编译时查找头文件,按照以下路径顺序查找:

1. gcc编译时,可以设置-I选项以指定头文件的搜索路径,如果指定多个路径,则按照顺序依次查找。比如,

[plain]  view plain copy
  1. gcc -I /usr/local/include/node a.c  

2. gcc会查找环境变量    C_INCLUDE_PATH,  CPLUS_INCLUDE_PATH   中指定的路径。

3. 系统默认的路径,分别是

/usr/include

/usr/local/include

/usr/lib/gcc-lib/i386-linux/2.95.2/include

(gcc库文件的路径,各个系统不一致)。


同时,include也可以采用相对路径,比如,a.c需要包含/usr/local/include/node/v8.h,由于/usr/local/include是系统的默认搜索路径,所以在a.c中可以用相对路径包含,#include<node/v8.h>。


转自: http://blog.csdn.net/chosen0ne/article/details/7210946

你可能感兴趣的:(#include 搜索路径)