linux核心模組之間共享函式或者全域性變數

2021-07-09 14:01:23 字數 424 閱讀 1533

1、 在被呼叫函式中定義函式或者全域性量

unsigned char g_data = 0;

int set_g_data(unsigned char num)

..........

在被調函式中新增共享模組的說明

export_symbol_gpl(g_data);

export_symbol_gpl(set_g_data);

module_license("gpl");

在標頭檔案中新增extern宣告

extern unsigned char gdata;

extern int set_g_data(unsigned char num);

2、當其他驅動模組需要呼叫該全域性量或者函式時

include 「 」 被調函式的標頭檔案,直接使用該函式或者全域性量即可。

linux核心模組匯出函式

乙個模組可以使用另乙個模組匯出的函式,可以通過函式export symbol func name 來匯出,匯出後的函式位於 proc kallsyms檔案中。include include module license dual bsd gpl static inthello init void s...

核心模組共享變數例項

您的核心必須已經啟用這些選項進行了編譯 loadable module support enable loadable module support module unloading module versioning support experimental automatic kernel mo...

Linux核心模組

核心模組 在整個啟動的過程中,是否能成功的驅動我們主句的硬體裝置,是核心完成的工作,而核心一般都是壓縮文件,在使用之前核心之前必須要將核心減壓到的記憶體中。為了應對日新月異的硬體,目前核心都具有可讀取模組化驅動程式的功能,也就是所謂的 modules模組化 所謂模組化。核心與核心模組放在 核心 bo...