社区
Linux_Kernel
帖子详情
.ko和.o的文件有什么区别
digitaleyes
2008-10-07 12:37:44
.o也可以作为模块加载.ko也可以
那到底有什么区别呢>?
跟内核版本有关么?
还是仅仅是内核模块和一般模块的区别!!?
...全文
694
2
打赏
收藏
.ko和.o的文件有什么区别
.o也可以作为模块加载.ko也可以 那到底有什么区别呢>? 跟内核版本有关么? 还是仅仅是内核模块和一般模块的区别!!?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
digitaleyes
2008-10-07
打赏
举报
回复
谢谢!
bshawk
2008-10-07
打赏
举报
回复
.o的文件是object文件,.ko是kernel object,与.o的区别在于其多了一些sections,比如.modinfo。.modinfo section是由kernel source里的modpost工具生成的,包括MODULE_AUTHOR, MODULE_DESCRIPTION, MODULE_LICENSE, device ID table以及模块以来关系等等。 depmod 工具根据.modinfo section生成modules.dep, modules.*map等文件,以便modprobe更方便的加载模块。
在2.6内核下编译driver, 首先要确认你的linux系统里有没有 kernel tree,检查的方法是看看文件夹/lib/modules/$(uname -r)/build是否指向source code,并进去看看,是否有Makefile, include, scripts等文件夹,在scripts/mod下可以找到前面提到的modpost,这个东东是 生成.ko的关键。 如果没有kernel tree,需要重新build一份kernel来建立这个kernel tree。
在2.4内核中,生成的就是.o文件,2.6 kernel对内核模块的管理做了一些扩展!
GOOD LUCK!
linux Makefile 多个*.h、*.c 编译.
ko
文件
参考
mtk_hif_sdio-objs := linux/hif_sdio.o mtk_hif_sdio-objs += linux/hif_sdio_chrdev.o mtk_hif_sdio-objs += linux/osal.o
在.
ko
, .a, .so
文件
中查找特定symbol的简单脚本
objdump_tool: FindSymbolIn
Ko
.sh 在.
ko
文件
中查找 FindSymbolInOandA.sh 在.o和.a
文件
中查找
全面认识海思SDK及嵌入式层开发-第1/11季视频课程
本课程目标是学习海思SDK的结构,并且学会配置、编译整个SDK并部署到专用开发板上,启动Linux系统并运行MPP中的Sample。课程隶属朱有鹏物联网大讲堂“项目驱动创新学习训练营”之《A0201-海思HI3518E方案视频编解码传输深度学习》项目,整个项目共11季,由浅入深开展,此为开篇第1季。
linux中.so、.
ko
、.a、.o
文件
区别
1、对于.so
文件
.so
文件
是用户层的动态链接库,用于用户层的动态链接使用,内核态的代码同样不能直接访问。 2、对于.
ko
文件
.
ko
文件
是内核态的动态链接库,用于内核态的动态链接使用,可以用于内核之间的模块相互调用。用户态的代码不可直接调用内核态的代码,但是可以通过其他方式进行通信。 3、对于.a
文件
.a
文件
是用于静态链接时,使用的静态库。 4、对于.o
文件
.o
文件
是目标
文件
,编译生成,.a
文件
就是由.o
文件
打包生成的。 ...
Linux_Kernel
4,436
社区成员
17,460
社区内容
发帖
与我相关
我的任务
Linux_Kernel
Linux/Unix社区 内核源代码研究区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章