C++ 已经出现过一次类似的问题,但答案和问题本身并不令人满意。
我读过.c File(github 链接),其中包括<linux/module.h>并将其静态函数传递给module_init(foo)和module_exit(foo)。那么模块的一般用途是什么,<linux/module.h> file在这种情况下,特别是这两种方法的用途是什么?
它用于Linux 内核模块。第 1.1 节提到:
所以,你想写一个内核模块。[..] 现在你想知道真正的行动是什么,内核模块到底是什么?模块是可以根据需要加载和卸载到内核中的代码片段。它们扩展了内核的功能 [..]。例如,一种类型的模块是设备驱动程序,它允许内核访问连接到系统的硬件。
然后,在第 2.3 节中:
宏
module_init()和module_exit()宏初始化和清理您的函数。
例子:
module_init(hello_2_init);
module_exit(hello_2_exit);
Run Code Online (Sandbox Code Playgroud)
这两个 dymmy 函数都调用了 say printk();hello/goodbye world。
在第 3.1.1 节中:
模块始终以
init_module()您指定的函数或module_init()调用函数开头。这是模块的入口函数;它告诉内核模块提供什么功能,并设置内核在需要时运行模块的功能。所有模块都以调用
cleanup_module()您在module_exit()调用中指定的函数或函数结束。这是模块的退出函数;它撤消任何入口函数所做的。它取消注册入口函数注册的功能。
| 归档时间: |
|
| 查看次数: |
2667 次 |
| 最近记录: |