一,linux模塊程序示例
下面是一個linux模塊的示例程序:
#include <linux/init.h>
#include <linux/module.h>
MODULE_LICENSE("Dual BSD/GPL");
MODULE_AUTHOR("Radia");
static int hello_init()
{
printk(KERN_EMERG "hello module has been mount!\n");
return 0;
}
static void hello_exit()
{
printk(KERN_EMERG "hello module has been remove!\n");
}
module_init(hello_init);
module_exit(hello_exit);
二,module_init函數定義查看其中module_init()的定義,發現在kernel\include\linux\module.h
#define module_init(x) __initcall(x);
而__initcall(x)定義在kernel\include\linux\init.h