学习linux驱动开发,自然离不开内核模块,内核模块似乎是专门为linux驱动开发而出现的。但是并不是说内核模块都是驱动,只是内核模块作为一种动态扩展内核,是方便了驱动的开发。
那么一个模块是怎么样的呢?
很简单,三要素:头文件、加载函数、卸载函数
#include <linux/module.h>
#include <linux/init.h>
static int first_init(void)
{
return 0;
}
static void first_exit(void)
{
}
module_init(first_init);
module_exit(first_exit);
MODULE_LISECEN("GPL");
这样一个简单的模块就出来了。