内核头⽂件使⽤
1. 转⾃blog.chinaunix/uid-22028680-id-3053966.html
2. blog.chinaunix/uid-24780853-id-3301606.html
3.
linux内核文件放在哪4. 1、在内核源码根⽬录下运⾏: 'make headers_install',这样内核Makefile会把提供给应⽤程序的头⽂件提取并放在内核源码的“usr/include”⽬录下。
5. (请勿担⼼git会发现⽂件增加了,usr⽬录中的.gitignore⽂件已经让git忽略了其下的include⽂件夹)
6.
7. 2、在编译应⽤程序的时候,在GCC的CFLAG参数中添加“-I(内核源码路径)/usr/include”,这样编译器就知道在编译时到相关的头⽂件了。
平时我们在编译应⽤程序的时候,不可避免的会使⽤内核头⽂件,⽐如v4l2,字符驱动等等。此时直接的使⽤内核源码中include⽬录下的头⽂件,可能就会有警告。这个警告现在看来仅在"include/linux/type
s.h"中存在,因为这个⽂件中包含了很多内核⾃定义的类型,你的应⽤程序如果也做了这样的定义就可能出现问题。此时你就应该使⽤内核帮你处理过的专门提供给⽤户空间的头⽂件,这个就是为什么'make headers_install'会将头⽂件(默认)放在usr(⽤户)⽬录下的原因。
make headers_install ARCH=arm INSTALL_HDR_PATH=/usr/include
其中ARCH指定要产⽣哪种体系结构的头⽂件,INSTALL_HDR_PATH指定要导出头⽂件的⽬录。
如果只是执⾏make headers_install ,则导出所有体系结构的头⽂件到默认⽬录”./usr/include“
如果是⾃⼰定义的头⽂件,要想导出,需要修改头⽂件下的Kbuild⽂件,例如我们⾃⼰定义的头⽂件在include/linux/generic/⽬录下
有如下头⽂件:
gsm.h, sensor.h
需要修改Kbuild⽂件:
header-y += gsm.h
header-y += sensor.h
如果是⽬录的话,添加
header-y += file/
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论