"); //-->
// 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);
*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。