‘壹’ 格式为ko的文件 是怎么生成的
,文件名写为以BAT为扩展名就可以了。
‘贰’ linux 驱动 platform 的device和driver 分两个C文件写的。若只编译成一个ko文件,怎么办呢
你的两个文件里有重复的函数所以makefile不成功,上面的意思是叫你去掉其中一个.c里的init_mole函数,再在这个.c文件里添加init_mole函数的外部声明(就是加上extern 函数返回值init_mole(参数列表),这个总看得懂吧。。?),我不知道你这两个函数是否相同,这样做会有什么影响,
‘叁’ .c编译.ko
应该是有专门的编译程序。。。
‘肆’ ubuntu codeblocks环境上怎么设置,编译出.ko文件
------解决方案--------------------
在codeblock里面写代码,然后弄个Makefile模板编译
貌似codeblocks没法集《Linux就该这样学》成编译.ko文件的。
习惯在vim下写代码更好,这是个过程
------解决方案--------------------
是的,用一个带颜色的文本编辑器足矣,这样一段时间后,你会发现自己的根基无比厚实。
‘伍’ 在linux中,.cpp文件可以编译成.ko文件不是不是只有.c文件可以编译成.ko文件
只能用c语言,不能用c++, 文件内容跟 cpp 后缀没什么关系,c语言写的也可以用cpp,虽然一般cpp都是表示c++啦
‘陆’ linux内核编译,怎么样 从o文件直接生成ko文
gcc -Wall adc.c -o adc.o
或者在makefile中写下:
adc.o:
gcc -Wall adc.c -o adc.o
然后make,注意adc.o:下面的空格必须用Tab键
‘柒’ 编译时内核怎么生成的ko文件
不玩这个,这里提供一个思路
gcc命令其实是分成几步执行的,预处理,编译,链接。".o"才到编译这一步,如果按照生成ko文件的方式链接一下说不定能成。
另生成你所说的.o文件的源代码一定是要按".ko"的规范写的,也就是什么模块注册,模块卸载等函数是必需要有的.
想想编译ko里的makefile,里面好像是引入了一个moles目录吧!
呵呵,3楼的方法是普通的链接过程。“.ko”的链接应该不会这么简单!
望楼主细心探索