📄 一个linux的模块例子.txt
字号:
内核模块时LINUX提供给用户动态扩充内核的一种机制。
一个LINUX的模块例子为:
#include <linux/kernel.h>
#include <linux/module.h>
static int count;
static char * string;
MODULE_PARM(count,"i");
MODULE_PARM(string,"s");
int init_module(void)
{
printk("hello!\n");
printk("count->%d.\n",count);
printk("string->%s.\n",string);
return 0;
}
void cleanup_module(void)
{
printk("Goodbye.\n");
}
如该程序生成hello.o模块,可以使用以下命令加载它:
insmod -f hello.o count=1 string="hello"
用以下命令显示它的名字:
lsmod
使用以下命令卸载它:
rmmod hello
练习4让我们利用模块在PROC文件系统中挂接一个能读取系统时钟的文件。
注意练习4给出的struct proc_dir_entry 是内核2.2的结构,如果你的实验系统为
内核2.4的请修正为2.4版的结构(该结构说明在proc_fs.h中)
其中的my_read函数为读取系统时钟的函数,其实现可套用4.2节中给出的例子。
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -