在Linux内核模块中,module_param宏用于定义模块参数
#include<linux/module.h>#include<linux/kernel.h>定义一个变量,该变量将存储模块参数的值。例如,我们可以定义一个名为my_param的整数变量,并为其分配一个默认值:static int my_param = 42;使用module_param宏将此变量导出为模块参数。为了设置默认值,我们已经在第2步中为变量分配了一个值。module_param宏的第一个参数是变量名,第二个参数是变量类型,第三个参数是权限(通常为S_IRUGO,表示只读):module_param(my_param, int, S_IRUGO);编译并加载模块。现在,当模块加载时,my_param将具有默认值42。
若要在加载模块时更改my_param的值,可以在insmod命令后面添加my_param=<new_value>。例如,要将my_param设置为100,可以运行以下命令:
sudo insmod your_module.ko my_param=100这样,在模块加载时,my_param将具有值100,而不是默认值42。


