7 个解决方案
#1
我觉得是不行的吧
#2
我不知道,坐等高手解答
#3
ld -r a.o b.o -o c.ko 试试看。
#4
谢谢您的回复。
但是这样好像生成的并不是内核模块文件吧,是能生成后缀为ko的文件,但是insmod *.ko时,提示insmod:error inserting *.ko:-1 Accessing a corrupted shared library
但是这样好像生成的并不是内核模块文件吧,是能生成后缀为ko的文件,但是insmod *.ko时,提示insmod:error inserting *.ko:-1 Accessing a corrupted shared library
#5
俺不玩这个,这里提供一个思路
gcc命令其实是分成几步执行的,预处理,编译,链接。".o"才到编译这一步,如果按照生成ko文件的方式链接一下说不定能成。
另生成你所说的.o文件的源代码一定是要按".ko"的规范写的,也就是什么模块注册,模块卸载等函数是必需要有的.
想想编译ko里的makefile,里面好像是引入了一个modules目录吧!
呵呵,3楼的方法是普通的链接过程。“.ko”的链接应该不会这么简单!
望楼主细心探索,若有结果望分享之……
gcc命令其实是分成几步执行的,预处理,编译,链接。".o"才到编译这一步,如果按照生成ko文件的方式链接一下说不定能成。
另生成你所说的.o文件的源代码一定是要按".ko"的规范写的,也就是什么模块注册,模块卸载等函数是必需要有的.
想想编译ko里的makefile,里面好像是引入了一个modules目录吧!
呵呵,3楼的方法是普通的链接过程。“.ko”的链接应该不会这么简单!
望楼主细心探索,若有结果望分享之……
#6
感谢大家的回复,看来是不行哦。
#7
是可以的!生成.ko文件后运行命令insmod **.ko 然后就可以了!
#1
我觉得是不行的吧
#2
我不知道,坐等高手解答
#3
ld -r a.o b.o -o c.ko 试试看。
#4
谢谢您的回复。
但是这样好像生成的并不是内核模块文件吧,是能生成后缀为ko的文件,但是insmod *.ko时,提示insmod:error inserting *.ko:-1 Accessing a corrupted shared library
但是这样好像生成的并不是内核模块文件吧,是能生成后缀为ko的文件,但是insmod *.ko时,提示insmod:error inserting *.ko:-1 Accessing a corrupted shared library
#5
俺不玩这个,这里提供一个思路
gcc命令其实是分成几步执行的,预处理,编译,链接。".o"才到编译这一步,如果按照生成ko文件的方式链接一下说不定能成。
另生成你所说的.o文件的源代码一定是要按".ko"的规范写的,也就是什么模块注册,模块卸载等函数是必需要有的.
想想编译ko里的makefile,里面好像是引入了一个modules目录吧!
呵呵,3楼的方法是普通的链接过程。“.ko”的链接应该不会这么简单!
望楼主细心探索,若有结果望分享之……
gcc命令其实是分成几步执行的,预处理,编译,链接。".o"才到编译这一步,如果按照生成ko文件的方式链接一下说不定能成。
另生成你所说的.o文件的源代码一定是要按".ko"的规范写的,也就是什么模块注册,模块卸载等函数是必需要有的.
想想编译ko里的makefile,里面好像是引入了一个modules目录吧!
呵呵,3楼的方法是普通的链接过程。“.ko”的链接应该不会这么简单!
望楼主细心探索,若有结果望分享之……
#6
感谢大家的回复,看来是不行哦。
#7
是可以的!生成.ko文件后运行命令insmod **.ko 然后就可以了!