2009年7月20日星期一

linux include头文件

在linux下的c编程中,在头文件中经常要用#include
<sys/stat.h>以及#include<linux/*>,请问为什么要在前面加sys或者linux,我们怎么查看编译器的查找路径呢?

通常,Linux下默认的路径是/usr/include, 和/usr/local/include,
最后还会搜索当前目录。如果你要include这些目录中的子目录中的头文件,如linux,
sys,那就应当 #include <linux/*> 或者<sys/*>。
因此,你也应该经常能看到#inlcude <../*>之类的用法,这是在当前目录中搜索。
在当前目录中用#include "head.h" 更好,这个你应该知道是为什么了。

如果你想#include <...> 其他目录下的投文件,
那么在编译的时候你就应当使用-I选项跟后面的目录。
这样,编译器在编译的时候就会到此目录去寻找头文件。

没有评论: