Linux 内核模块参数学习module_param
2016-01-15 15:21
936 查看
Linux 内核模块参数学习module_param
module_param(参数名,参数类型,参数读写权限)
byteshort
ushort
int
uint
long
ulong
charp(字符指针)
bool
invbool(布尔的反)
注意
PS:今天在使用charp的时候对此理解有误,使用了如下定义方式:[code]char buff[1024] = "Hello World\n This is a Test!\n"; module_param(buff,charp,0644);
加载的时候是木有问题的,但是我到/sys/module/xxx/parameter/下面看buff这个文件的时候,系统立马崩掉!
所以这样的用法是严重不对的,正确的用法是:
[code]char *str = "Hello World!" module_param(str,charp,0666);
可是我们需要修改显示内容怎么办??这里的Hello World!为常量,是只读的,不能被修改的!怎么办?还好str是可以修改的,我们重新把buff用起来,对代码修改下:
[code]char *str = "Hello World!" module_param(str,charp,0666);
char buff[1024] = "Hello World\n This is a Test!\n";
void TestFunction()
{
str = buff;
}
按照上面的方法,再到/sys/module/xxx/parameter/下看变量的时候,就不会崩掉了!
崩掉的主要原因是:charp为字符串指针,而不为数组指针!!!
相关文章推荐
- Linux找不到主机名解决办法
- Linux命令 du
- Linux禁止非WHEEL用户使用SU命令
- 关于linux yum源遇到的问题
- linux-top命令结果详解
- 第5讲 Linux系统安装--Samba配置
- Linux CentOS 6 64位系统安装Git工具环境教程
- AES加密在linux下不能正常使用
- linux命令------crontab命令
- 负载均衡集群解决方案 haproxy
- Linux 学习日记(CentOS 6.5)
- CentOS 6.2图形界面允许root用户登录
- Linux磁盘分区
- centOS集群repeatmarker软件安装
- 虚拟机中多个Linux系统之间配置免秘钥登录
- Linux上安装nodejs
- Linux里startup.sh 和 shutdown.sh
- LINUX中gdm配置Xmanager连接
- 2015博客升级记(五):CentOS 7.1编译安装PHP7
- linux 用户添加root权限