關(guān)于EXPORT_SYMBOL的作用淺析
// Module A (mod_a.c) #include<linux/init.h> #include<linux/module.h> #include<linux/kernel.h> static int func1(void) { printk("In Func: %s...\n",__func__); return 0; } // Export symbol func1 EXPORT_SYMBOL(func1); static int __init hello_init(void) { printk("Module 1,Init!\n"); return 0; } static void __exit hello_exit(void) { printk("Module 1,Exit!\n"); } module_init(hello_init); module_exit(hello_exit);
// Module B (mod_b.c) #include<linux/init.h> #include<linux/kernel.h> #include<linux/module.h> static int func2(void) { extern int func1(void); func1(); printk("In Func: %s...\n",__func__); return 0; } static int __init hello_init(void) { printk("Module 2,Init!\n"); func2(); return 0; } static void __exit hello_exit(void) { printk("Module 2,Exit!\n"); } module_init(hello_init); module_exit(hello_exit);
*博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請(qǐng)聯(lián)系工作人員刪除。