Linux内核模块
Linux内核模块通过module_init指定入口初始化函数,module_exit指定卸载时执行的函数。
#include <linux/init.h>
#include <linux/module.h>
static int __init mymodule_init(void)
{
printk("mymodule init.\r\n");
return 0;
}
static void __exit mymodule_exit(void)
{
printk("mymodule exit.\r\n");
}
module_init(mymodule_init);
module_exit(mymodule_exit);
MODULE_AUTHOR("Rbin.Yao");
MODULE_DESCRIPTION("A simple linux module.");
MODULE_VERSION("V1.0");
MODULE_LICENSE("GPL");
相应的Makefile文件:
obj-m := mymodule.o
PWD := $(shell pwd)
KDIR := /lib/modules/$(shell uname -r)/build
all:
make -C $(KDIR) M=$(PWD) modules
clean:
make -C $(KDIR) M=$(PWD) clean