根据常见做法,我是否应该将<linux/stat.h>
和包含<linux/module_param.h>
在以下程序中?
#include<linux/module.h>
char str[7] = "hello";
int arr_size = 7;
module_param_string(str_param, str, 7, S_IRWXU);
int f1(void){
return 0;
}
void f2(void){
}
module_init(f1);
module_exit(f2);
MODULE_LICENSE("GPL v2");
但这编译时没有任何警告,并且模块工作没有任何问题。自2.6版本以来,头文件结构等是否有变化(大多数有关驱动程序的书籍似乎从那时起就没有更新过。)?
例如这Jonathan Corbet 的文章明确指出,我们应该包含 module_param.h 文件作为模块参数:
带参数的模块现在应该
<linux/moduleparam.h>
显式包含。
但这似乎根本没有必要。我缺少什么?