驱动代码的结构
入口函数(用module_init修饰)
出口函数(用module_exit修饰)
最后加上协议(MODULE_LICENSE("GPL");)
入口函数和出口函数被加到一个特殊的段,内核在执行时,会在适当时候执行入口函数
参考代码
#include <linux/init.h>
#include <linux/module.h>
//入口函数
static int hello_init(void)
{
printk("Hello init\n");
return 0;
}
//出口函数
static void hello_exit(void)
{
printk("Goodbye, hello exit\n");
}
module_init(hello_init);//修饰入口函数
module_exit(hello_exit);//修饰出口函数
MODULE_LICENSE("GPL");//协议
执行结果:驱动加载时执行hello_init,驱动卸载时执行hello_exit