自己命名啟動與結束函式
前面有講過可使用自定義的名稱來取代預設的init_module()
與cleanup_module()
,方法便是include進來linux/init.h
並加入兩個函式module_init()
與module_exit()
範例程式如下:
#include <linux/module.h> /* Needed by all modules */
#include <linux/kernel.h> /* Needed for KERN_INFO */
#include <linux/init.h> /* Needed for the macros */
static int __init hello_2_init(void)
{
printk(KERN_INFO "Hello, world 2\n");
return 0;
}
static void __exit hello_2_exit(void)
{
printk(KERN_INFO "Goodbye, world 2\n");
}
module_init(hello_2_init);
module_exit(hello_2_exit);
__init
與 __exit
在kernel的意義是在適當的時候把它們釋放,回收內存。