1. 程式人生 > >Linux驅動開發(三)——模組初始化和解除安裝函式

Linux驅動開發(三)——模組初始化和解除安裝函式

        在(一)中,主要講述了模組的基本組成,載入,解除安裝和檢視工具的使用。本篇中,主要講述module_init()和module_exit()這兩個函式的使用。

          在(一)中給的原始碼檔案中,模組初始化和解除安裝函式為:init_module()和cleanup_module()。這兩個函式名是預設的模組初始化函式名和模組解除安裝函式。我們可以使用module_init和module_exit()這兩個函式來給模組指定模組初始化時執行哪個函式,模組解除安裝時執行哪個函式。如在本篇中的程式原始碼如下圖所示:

#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/init.h>

MODULE_LICENSE ("GPL");

static int __init example_2_init (void)
{
	printk (KERN_INFO "The first module2\n");
	return 0;
}

static void __exit example_2_exit (void)
{
	printk (KERN_INFO "The module has uninstalled2\n");
}

module_init (example_2_init);
module_exit (example_2_exit);

        程式中並不包含init_module()和cleanup_module()這兩個函式。但是模組依然可以正常載入和解除安裝。按照我們在(一)中的模組操作方法,執行結果如下: