Linux内核怎样访问另外一个模块的函数和变量

2023-04-14 04:54:00 变量 内核 另外一个

如果一个模块想访问另一个模块的函数或变量,那么就必须要通过内核的接口来访问。内核提供了一个export_symbol()函数来导出模块中的符号,而要访问导出的符号,则使用request_module()函数。

首先,在要导出的模块中包含linux/export.h头文件,然后使用EXPORT_SYMBOL()宏导出符号,如下所示:

#include EXPORT_SYMBOL(symbol);

要访问导出的符号,首先需要在要访问的模块中包含linux/module.h头文件,然后调用request_module()函数来加载模块,如下所示:

#include int request_module(const char * name, ...);

request_module()函数需要指定要加载的模块的名称,如果加载成功,则返回0,否则返回一个负值。

调用request_module()函数之后,就可以使用EXPORT_SYMBOL()导出的符号了。

相关文章