#include -- 头文件的搜索路径

来源:互联网 发布:艾克里里用的变声软件 编辑:程序博客网 时间:2024/04/25 09:53
#include -- 头文件的搜索路径
2007年01月29日 星期一 18:57
#include 指令的两种使用形式

(1) 尖括号告诉编译器在一个或者多个标准系统目录中找到文件
/usr/include   /usr/local/include

(2) 双引号意味着首先搜索本地目录(如果在本地目录找不到,再到标准系统目录中找)但是具体搜索哪个目录依赖于编译器。有些编译器搜索源代码文件所在目录,有些编译器搜索当前工作目录,有些搜索工程文件所在目录。

gcc的本地目录,默认情况下就是源码(.c文件)所在目录,当然也可以用-I指定本地目录(可以用多个-I指定多个本地目录)


gcc默认就会搜索/usr/include /usr/local/include的,你还可以设置环境变量CFLAGS=-I /somewhere $CFLAGS来增加搜索路径


# vim source/test.c 
----------------------------------
1 #include <stdio.h>  
2 #include "test.h"
   // 有了-I include/这里就不需要关心头文件的所在路径了

4 int main()
5 {
6     printf("g_int = %d\n", g_int);
7     return 0;
8 }

# vim include/test.h 
----------------------------------
1 int g_int = 100;


# gcc source/test.c  -I include/






# vim 
stdio.h
----------------------------------
  1 #define printf


# vim test.c
----------------------------------
  1 #include "stdio.h" /* 用本地的头文件 */

3 int main()
4 {
5     printf("hi zengxiaolong\n");
6 }

# gcc test.c
# ls
a.out  stdio.h  test.c
# ./a.out   // 没有任何输出
#
原创粉丝点击