内核模块:.o与.ko

Zebonaut

似乎包含内核模块文件被称为.o,至少这是我的身影看着像一个教程时,这一个但是,在我的debian压缩框中,这些文件似乎称为.ko

它依赖于分布(或其verison)文件是否被称为.o.ko,并且是他们或多或少相同,否则?

泰勒

我在这里找到以下答案

简短的答案是.ko文件是与内核所需的一些内核自动生成的数据结构链接的目标文件。

.o文件是模块的目标文件-编译c文件的结果。然后,内核构建系统会自动创建另一个具有描述内核模块的数据结构的C文件(名为your_module_kmod.c),将该C文件编译为另一个目标文件,并将您的目标文件和它一起构建的目标文件链接在一起以创建.ko文件。

内核中负责加载内核模块的动态链接程序希望在.ko文件中找到内核放入kmod对象中的数据结构,并且如果没有它们,将无法加载内核模块。

同样从那个来源,引用tldp:直到2.4内核版本,它是“ .o”,从2.6开始,它是“ .ko”。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章