/usr/src/linux/inlcude/linux 与 /usr/include/linux的区别和联系
来源:互联网 发布:苹果越狱软件 编辑:程序博客网 时间:2024/04/28 07:40
1./usr/include/linux和/usr/src/linux/include/linux下的文件数不同,文件夹数也不同。例如/usr/include/linux没有mosules文件夹,而/usr/src/linux/include/linux有此文件夹。
/usr/src/linux/include/linux是给编译内核用的
/usr/include/linux是给编译应用程序用的
/usr/include/linux应该是到/usr/src/linux/include/linux的连接
/usr/include/asm应该是到/usr/src/linux/include/asm的连接
/usr/src/linux/include/asm连接到当前目录的asm-i386
以前一直是这样的。在早期讲Kernel编译的文章中经常提醒用户自己做好以下工作:
ln -s /usr/src/linux/include/linux /usr/include/linux
ln -s /usr/src/linux/include/asm /usr/include/asm
后来的发布一般都已经做好了。
2.但是在RH 7.1中改了。
/usr/src/include/linux和/usr/src/include/asm都是真实目录了。
在最新的发布中,似乎更推荐两者分开。
绝大多数“普通”程序不需要内核头文件,事实上如果直接引用它们会出错。这些程序应该引用那些编译glibc所用的头文件,它们位于系统的/usr/include/linux和/usr/include/asm目录下。
redhat的/usr/include属于glibc,不是给内核用的,虽然也包含asm和linux目录,但是简化过的,编译内核模块偶尔能成功,幸运而已,建议编译内核时加-nostdinc参数,以防止使用了错误的目录。
3.实例
在redhat9.0(linux-2.4.20-8)环境下编译了一个和netfilter相关的内核程序程序,当我用gcc -O -c -I/usr/src/linux/includeexamplemod.c编译时,就没有问题,但我用gcc -O -c -I/usr/includeexamplemod.c编译时就不能通过,出现如下的错物欲告警:
/usr/include/linux/netfilter_ipv4.h:53: `INT_MIN' undeclared here (not in a function)
/usr/include/linux/netfilter_ipv4.h:53: enumerator value for `NF_IP_PRI_FIRST' not integer constant
/usr/include/linux/netfilter_ipv4.h:59: `INT_MAX' undeclared here (not in a function)
/usr/include/linux/netfilter_ipv4.h:59: enumerator value for `NF_IP_PRI_LAST' not integer constant
test1.c:21: warning: `struct net_device' declared inside parameter list
test1.c:21: warning: its scope is only this definition or declaration, which is probably not what you want
test1.c:21: warning: `struct sk_buff' declared inside parameter list
test1.c: In function `init_module':
test1.c:37: invalid use of undefined type `struct nf_hook_ops'
test1.c:38: invalid use of undefined type `struct nf_hook_ops'
test1.c:39: invalid use of undefined type `struct nf_hook_ops'
test1.c:40: invalid use of undefined type `struct nf_hook_ops'
/usr/include/linux/byteorder/swab.h: At top level:
test1.c:14: storage size of `nfho' isn't known
转自:http://blog.chinaunix.net/u2/63316/showart_1961394.html
- /usr/src/linux/inlcude/linux 与 /usr/include/linux的区别和联系
- 关于/usr/src/linux/include/linux和/usr/include/linux
- 关于/usr/include/linux和/usr/src/linux/include/linux/
- 关于/usr/include/linux和/usr/src/linux/include/linux/
- 关于/usr/include/linux和/usr/src/linux/include/linux/
- /usr/src/linux/include 是空的
- 安装vmware tools时提示不存在“/usr/src/linux/include”
- vmware 安装出现的linux-headers问题,找不到/usr/src/linux/include这个目录
- "/usr/src/linux/include" is not an existing directory时的VMware Tools的安装
- Linux下/usr/bin与/usr/local/bin/区别总结
- Linux目录/usr/bin和 /usr/local/bin区别
- linux include 头文件 存放处 /usr/include
- Linux 中 /bin、/sbin、/usr/sbin、/usr/bin的区别
- linux下 /usr/bin与/bin 以及/usr/sbin与/sbin目录的区别
- Linux command time 与/usr/bin/time的区别
- Linux下/usr/local/lib 和 /usr/lib 里的内容有什么区别?
- Linux下/usr/local/lib 和 /usr/lib 里的内容有什么区别?
- #include<>和#inlcude“”的区别
- java中输入输出的总括(初学必看)
- 09年最流行、最火暴、最简单的赚钱项目。
- R12中注册客户化应用为多组织应用
- Apache MINA + Spring
- 转载一篇 EMI整改经验
- /usr/src/linux/inlcude/linux 与 /usr/include/linux的区别和联系
- 标准正态分布函数表的程序实现
- 加班是不道德的
- Spacebuilder 简介
- Sql SERVER 触发器的使用
- C# 使用覆盖文件的方式发送byte[]到指定的打印机
- 求解线性方程组--全主元消去法
- 一个致命的错误
- 导出Excel 常用属性(2)