社区
Linux_Kernel
帖子详情
如何给Linux内核添加自己的头文件?
sherlock_lai
2008-05-08 03:54:31
我写了一个字符驱动模块(比较大),在这个驱动模块中包含了一些自己的头文件(内核库里没有的),这个驱动编译是通过的,但是在insmod的时候出现unresolved symbol,我想应该就是内核库中没有我的头文件的关系,我直接把我的这些头文件放到内核源码的include文件夹中再编译内核,但是没用,insmod时还是同样错误,请教高人要怎么做啊?
...全文
1155
11
打赏
收藏
如何给Linux内核添加自己的头文件?
我写了一个字符驱动模块(比较大),在这个驱动模块中包含了一些自己的头文件(内核库里没有的),这个驱动编译是通过的,但是在insmod的时候出现unresolved symbol,我想应该就是内核库中没有我的头文件的关系,我直接把我的这些头文件放到内核源码的include文件夹中再编译内核,但是没用,insmod时还是同样错误,请教高人要怎么做啊?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
sherlock_lai
2008-05-13
打赏
举报
回复
等上去 待解决
sherlock_lai
2008-05-11
打赏
举报
回复
驱动模块在加载和使用的时候才会链接函数库,所以编译的时候包含了头文件能通过,但是内核库里没有,就会出现unresolved symbol,还有EXPORT_SYMBOL只有内核里有这个函数你才可能EXPORT。。。看来有些人没搞清楚我的问题,Focus老兄 比较清楚
goodyun82
2008-05-10
打赏
举报
回复
unresolved symbol肯定不是没有包含同文件的问题。如果是没有包含头文件,那么应该是编译就出错。你的问题应该是用到其他模块或者是内核的变量和函数。用EXPORT_SYMBOL,具体用法就到网上查吧,到处都是。
sherlock_lai
2008-05-09
打赏
举报
回复
就是比如printk 函数,可以给驱动模块调用,我就想在内核中增加一些函数能给驱动模块调用的,要怎么做?
zj888
2008-05-09
打赏
举报
回复
编译通过了,insmod有unresolved symbol,要检查一下是不是引用了extern符号
sherlock_lai
2008-05-08
打赏
举报
回复
楼上的,驱动中用到的函数应该一般都是在进内核的时候才链接到内核的函数库的,如果你直接include *.c,那么函数就存在你的*.o文件里了,那样驱动会很大
linux scr 是起什么作用的?
我的意思是我函数要编译进内核,然后给驱动调用的,不是给用户用的,这些函数是不是直接放在linux源码的lib下就行了? 还有Makefile要怎么改?
sherlock_lai
2008-05-08
打赏
举报
回复
试了include.c可以的。。。我没用linux时都这么做,但是用了linux怎么也得弄个库进去才规范吧
弄个库到内核好象要修改Makefile的? 哪个高人来指点下怎么修改 哪里有资料?
sherlock_lai
2008-05-08
打赏
举报
回复
楼上的 你的意思是把用到的函数生成库文件放到linux源码里? 头文件放到linux源码的include文件夹下,库函数放到源码的lib文件夹下,然后编译内核,这样会自动生成库文件吗? 是否要修改linux源码的Makefile?
等会试试直接include .c
linux
kernel
内核
的
头文件
获取、安装等方法,手动计算
添加
version.h
本文详细介绍了如何进行
Linux
内核
的交叉编译,包括下载、解压
内核
源码,配置
内核
,检查
头文件
,以及生成和安装
头文件
的过程。在高版本
内核
中,
头文件
的生成涉及到asm、asm-generic、
linux
和uapi等目录,而低版本
内核
则可以直接复制include目录下的
头文件
。最后提到了系统中安装
头文件
的命令和
内核
支持的架构信息。
内核
makefile自定义
头文件
添加
- [
linux
内核
]
本文深入探讨了如何在
内核
模块中管理位于多个目录的文件,并通过示例展示了如何使用kbuild文件进行配置。同时介绍了
内核
模块递归调用的实现方式,包括memuconfig配置宏的作用以及如何通过Makefile实现模块间的相互依赖。
linux
修改typesizes.h
头文件
中的内容 怎么重新编译,
linux
修改
内核
、
添加
系统调用过程...
本文介绍如何修改
Linux
内核
源代码并重新编译
内核
,同时详细讲解了如何
添加
新的系统调用,包括在源代码中定义、更新系统调用表等步骤,并提供了使用新系统调用的方法。
Kali
Linux
内核
头文件
安装
本文详细介绍了在Kali
Linux
系统中遇到
内核
头文件
安装问题的解决过程,包括更新系统、
添加
源、安装
内核
头文件
的具体步骤,以及当标准方法失败时的替代方案。
eclipse CDT
头文件
路径
添加
(使用脚本生成路径字段)
本文介绍了一种使用脚本自动生成并
添加
Eclipse CDT 工程
头文件
路径的方法,解决了
Linux
内核
等大型项目中手动
添加
头文件
路径的繁琐问题。
Linux_Kernel
4,469
社区成员
17,458
社区内容
发帖
与我相关
我的任务
Linux_Kernel
Linux/Unix社区 内核源代码研究区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章