同NT驱动
一个DriverEntry 一个DriverUnload
不过在linux中不需要指定函数名
在初始化接口函数中填上你的函数名即可
#include <linux/kernel.h>
#include <linux/module.h>
MODULE_LICENSE ("GPL");//开源协议GPL 或者Dual BSD
MODULE_AUTHOR ("TOM");//作者
MODULE_DESCRIPTION ("MY_TEST");//描述此驱动
//EXPORT_NO_SYMBOLS;//不导出函数 可以不写
//EXPORT_SYMBOL(hello_data);//导出hello_data
int test_init(void)
{
printk(KERN_INFO "hello world\n");
return 0;
}
void test_exit(void)
{
printk(KERN_INFO "goodbye world\n");
}
module_init(test_init); //注册DriverEntry
module_exit(test_exit); //注册DriverUnload
Makefile
//EXTRA_CFLAGS := -g//一些编译选项 ;=的意思是在原来的数上加上其它编译选项
obj-m =hello.o
//#hello-objs := file1.o file2.o,如果有多个源文件,加上这么一行
KVERSION = $(shell uname -r)
all:
make -C /lib/modules/$(KVERSION)/build M=$(PWD) modu