Linux内核模块开发:资源管理与配置指南
1. 模块初始化与清理
在Linux内核模块开发中,初始化和清理函数是非常重要的部分。如果你的模块将初始化例程命名为 my_init (而非 init_module ),清理例程命名为 my_cleanup ,你可以在源文件末尾使用以下两行代码进行标记:
module_init(my_init);
module_exit(my_cleanup);
需要注意的是,要使用 module_init 和 module_exit ,代码中必须包含 <linux/init.h> 头文件。这种方式的优点在于,内核中的每个初始化和清理函数都可以有唯一的名称,这有助于调试。同时,对于编写既可以作为模块运行,也可以直接编译进内核的驱动程序的开发者来说,这些函数会让开发工作更加轻松。不过,如果你的初始化和清理函数使用旧名称,就不需要使用 module_init 和 module_exit 。实际上,对于模块而言,它们只是将 init_module 和 cleanup_module 定义为给定函数的新名称。
在2.2及更高版本的内核源码中,模块初始化和清理函数可能会有另一种声明形式:
stati
超级会员免费看
订阅专栏 解锁全文
1381

被折叠的 条评论
为什么被折叠?



