当前位置: 技术问答>linux和unix
各个include目录的用途
来源: 互联网 发布时间:2016-10-29
本文导语: 我的linux版本是2.6.18,CentOs版,装有gcc。有这些include目录: /lib/modules/2.6.18/source/include /usr/include /usr/local/include /usr/lib/gcc/i386-redhat-linux/4/1/2/include /lib/modules/2.6.18/source/include 是内核的include。 /usr/include 里的文件许...
我的linux版本是2.6.18,CentOs版,装有gcc。有这些include目录:
/lib/modules/2.6.18/source/include
/usr/include
/usr/local/include
/usr/lib/gcc/i386-redhat-linux/4/1/2/include
/lib/modules/2.6.18/source/include 是内核的include。
/usr/include 里的文件许多和内核include的同名,内容不同。为什么?
是不是内核编程需要引用内核include,应用编程需要引用其它3个include?
这4个include各有什么用?
/lib/modules/2.6.18/source/include
/usr/include
/usr/local/include
/usr/lib/gcc/i386-redhat-linux/4/1/2/include
/lib/modules/2.6.18/source/include 是内核的include。
/usr/include 里的文件许多和内核include的同名,内容不同。为什么?
是不是内核编程需要引用内核include,应用编程需要引用其它3个include?
这4个include各有什么用?
|
1、内核自己的头文件,你说得对,编译内核或驱动程序,就是使用这些头文件的,内核是使用自己的函数库的。
2、应用程序的头文件一般就是这个目录中的。比如#include 、#include 之类的头文件。linux下由glibc提供的。
3、一些个人安装的第三方库的头文件,比如安装了xvid,这个目录会有一个xvid.h头文件。当然,这些库会告诉你怎么编译、链接的。我用得不多。
4、查了一下,基本是一些跟标准C相关的(这句不敢肯定,希望指正),比如stdbool.h、stddef.h、limits.h等等。——我的gcc是4.3.0的。
用得最多的基本上是1和2。其它很少用到。
2、应用程序的头文件一般就是这个目录中的。比如#include 、#include 之类的头文件。linux下由glibc提供的。
3、一些个人安装的第三方库的头文件,比如安装了xvid,这个目录会有一个xvid.h头文件。当然,这些库会告诉你怎么编译、链接的。我用得不多。
4、查了一下,基本是一些跟标准C相关的(这句不敢肯定,希望指正),比如stdbool.h、stddef.h、limits.h等等。——我的gcc是4.3.0的。
用得最多的基本上是1和2。其它很少用到。