我有几年c编程经验。现在我决定努力开发Linux内核模块。但是,我甚至无法开始。我在ubuntu中编译了这段代码。如何编写Linux内核模块?
#include <linux/module.h>
int init_module(void){ printk("<1> hellp"); return 0;}
void cleanup_module(void){ printk("<1> bye");}
但是,insmod不起作用错误消息是“模块格式无效”。谷歌搜索后,我认为这可能是版本兼容性的一些问题。并没有好的方法来解决它。那么一些真正的内核模块开发人员能给我一些建议吗?在我开始学习之前,我应该准备什么环境?
谢谢!
* “你缺少__init和__exit宏...” * - 使用__init'的'和'不需要__exit';他们只指定在引导完成后可以释放的文本部分。驱动程序模块需要使用'module_init()'和'module_exit()'来声明两个入口点。 – sawdust