#include_next

 #include_next仅用于特殊的场合. 它被用于头文件中(#include既可用于头文件中, 又可用于.c文件中)来包含其他的头文件. 而且包含头文件的路径比较特殊: 从当前头文件所在目录之后的目录来搜索头文件. 
比如: 头文件的搜索路径一次为A,B,C,D,E. #include_next所在的当前头文件位于B目录, 那么#include_next使得预处理器从C,D,E目录来搜索#include_next所指定的头文件. 

 

gcc 在编译时如何去寻找所需要的头文件 :

    • header file的搜寻会从-I开始
    • 然后找gcc的环境变量 C_INCLUDE_PATH,CPLUS_INCLUDE_PATH,OBJC_INCLUDE_PATH
    • 再找内定目录 :
      • /usr/include
      • /usr/local/include
      • /usr/lib/gcc-lib/i386-linux/2.95.2/include
      • /usr/lib/gcc-lib/i386-linux/2.95.2/http://www.cnblogs.com/http://www.cnblogs.com/include/g++-3
      • /usr/lib/gcc-lib/i386-linux/2.95.2/http://www.cnblogs.com/http://www.cnblogs.com/i386-linux/include
    • 库文件但是如果装gcc的时候,是有给定的prefix的话,那么就是
      • /usr/include
      • prefix/include
      • prefix/xxx-xxx-xxx-gnulibc/include
      • prefix/lib/gcc-lib/xxxx-xxx-xxx-gnulibc/2.8.1/include

http://blog.chinaunix.net/uid-24448647-id-2607456.html

posted @ 2012-11-05 09:59  c_cloud  阅读(2446)  评论(0编辑  收藏  举报