如何将多个源文件编译为一个.ko
生活随笔
收集整理的這篇文章主要介紹了
如何将多个源文件编译为一个.ko
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
陸陸續續也寫了幾個Linux內核模塊了,但每次都是把代碼寫在一個源文件中,上次嘗試了寫在兩個.c文件中,結果沒有編譯通過。 無奈之下,將其中一個.c文件重命名成.h文件,再include當另一個當中。但是,在.h文件中寫函數的實現總感覺怪怪的。 今天查看了以下Kbuild的文檔,有如下描述
[c-sharp]?view plaincopy
整理自己的源文件成兩個.c文件(simpLB.c和sahu_lb_tools.c)、一個.h文件(sahu_lb.h)和Makefile文件。兩個.c文件都包含了sahu_lb.h
按照Kbuild的文檔所述,把Makefile改成如下內容:
[c-sharp]?view plaincopy
編譯沒有問題,但是安裝后模塊的功能沒有實現,就連我在init_module()中打印的提示信息都沒有。lsmod卻有simpLB。
只好再上網查了查,發現如下文章:
http://www.linuxquestions.org/questions/programming-9/linking-multiple-files-kernel-module-programming-701735/
按照文章的的建議,我把Makefile修改成如下內容:
?
[c-sharp]?view plaincopy
總結
以上是生活随笔為你收集整理的如何将多个源文件编译为一个.ko的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: vivo X80成为天玑9000之王:性
- 下一篇: 首销曾被抢购一空 真我平板X现货:149