目录
哪些常见的程序属于模块,模块的后缀名是什么?
Linux的驱动程序就是典型的模块程序,模块的后缀名为.ko
模块的入口函数通过带参数的宏module_init
来定义
模块的入口函数是指加载模块时会执行的函数:
比如下面这个代码:
module_init(led_init);
那么模块加载时会首先执行函数led_init
模块的出口函数通过通过带参数的宏module_exit
来定义
模块的出口函数是指卸载模块时会执行的函数。
比如下面这个代码:
module_exit(led_exit);
当模块卸载时会去执行函数led_exit
模块的源文件的末尾需利用宏MODULE_LICENSE
申明文件的许可证
典型的代码如下:
MODULE_LICENSE("GPL");
详细解释见
https://blog.youkuaiyun.com/wenhao_ir/article/details/144902881
模块如何加载和卸载
比如一个模块文件的名字为led_driver.ko
,那么运行下面的命令去加载它:
insmod led_driver