module_param()
来源:互联网 发布:淘宝假冒品牌仅退款 编辑:程序博客网 时间:2024/06/06 13:18
http://baike.baidu.com/view/4212836.htm
module_param
说了这么多,看一个程序体验以下:
1.module_param.c
view plaincopy to clipboardprint?
/*
* file name : module_param.c
* author : tiger-John
*/
#include<linux/init.h>
#include<linux/module.h>
#include<linux/kernel.h>
MODULE_LICENSE("GPL");
static char *who;
static int times;
module_param(who,charp,0644);
module_param(times,int,0644);
static int __init hello_init(void)
{
int i;
for(i = 1;i <= times;i++)
printk("%d %s!\n",i,who);
return 0;
}
static void __exit hello_exit(void)
{
printk("Goodbye,%s!\n",who);
}
module_init(hello_init);
module_exit(hello_exit);
2.编写Makefile文件
view plaincopy to clipboardprint?
1 obj-m:=module_param.o
2 CURRENT_PATH:=$(shell pwd)
3 VERSION_NUM :=$(shell uname -r)
4 LINUX_PATH :=/usr/src/linux-headers-$(VERSION_NUM)
5
6 all :
7 make -C $(LINUX_PATH) M=$(CURRENT_PATH) modules
8 clean :
9 make -C $(LINUX_PATH) M=$(CURRENT_PATH) clean
3.在终端输入:make
4 .加载模块: sudo insmdo module_param.ko who=tiger times=4
5.dmesg :查看结果。
过程实例:
a.在终端输入:make
think@Ubuntu:~/module_param$ make
make -C /usr/src/linux-headers-2.6.32-25-generic M=/home/think/module_param modules
make[1]: 正在进入目录 `/usr/src/linux-headers-2.6.32-25-generic'
Building modules, stage 2.
MODPOST 1 modules
make[1]:正在离开目录 `/usr/src/linux-headers-2.6.32-25-generic'
think@Ubuntu:~/module_param$
b.在终端输入: sudo insmod module_param.ko who=tiger times=4
think@Ubuntu:~/module_param$ sudo insmod module_param.ko who=tiger times=4
c 在终端输入:dmesg
[ 4297.711137] 1 tiger!
[ 4297.711139] 2 tiger!
[ 4297.711140] 3 tiger!
[ 4297.711141] 4 tiger!
- module_param
- module_param()
- module_param
- module_param
- module_param()
- module_param
- module_param
- module_param()
- module_param 使用
- module_param&&MODULE_PARM_DESC
- module_param&&MODULE_PARM_DESC
- module_param()理解
- module_param()理解
- module_param()用法
- module_param&&MODULE_PARM_DESC
- module_param&&MODULE_PARM_DESC
- 关于module_param()宏
- module_param、 MODULE_PARM_DESC 、EXPORT_SYMBOL
- 32位操作系统与64位操作系统的区别
- Silverlight中的依赖属性理解
- 关于Singleton
- 为解压版Tomcat 注册服务
- C# .net 面试题汇总
- module_param()
- 什么是Web 2.0
- C++ STL 遍历 map 的时候如何删除其中的 element
- String类型声明空值变量
- android SDK 4.0(api14) 安装
- android 根据非物理路径得到物理路径
- 学习Windows Phone 7 手机开发的一些资源链接
- php常用算法总结
- fatal error C1088