对module_param_array(name,type,num,perm)产生疑问,尤其对num参数的作用产生疑问,
搜索得到结果如下。
static int param_array [ ] = {0 ,0 ,0 ,0 } ;- static int param_array_nr;
- module_param_array(param_array , int , ¶m_array_nr , S_IRUGO)
-
- for (i = 0; i < param_array_nr; i++) {
- printk(KERN_ALERT "param_array[%d] : %d \n", i, param_array[i]);
- root@tekkaman:~# insmod hello_linux.ko param_array=9,8,7,6
- Hello, Linux !
- (0) Hello, Tekkaman
- param_array[0] : 9
- param_array[1] : 8
- param_array[2] : 7
- param_array[3] : 6
- root@tekkaman:~# rmmod hello_linux.ko
- Goodbye, Linux !
- root@tekkaman:~# insmod hello_linux.ko param_array=9,8,7,6,5
- param_array: can only take 4 arguments
module_param_array(param_array , int , ¶m_array_nr , S_IRUGO);
中 ¶m_array_nr是用于保存模块加载时输 入数组参数的成员数目的。
以前我错误的以为这个是输入参数,
其实这个用于内核模块加载器输出的。