linux内核导出函数示例
在linux内核中导出函数: hello.c #include <linux/init.h> MODULE_LICENSE("Dual BSD/GPL"); int sub_integar(int a,int b) EXPORT_SYMBOL(add_integar); /* int init_module(void) void cleanup_module(void) return ; */ 对应Makefile文件: obj-m = hello.o all: clean:
测试程序: test.c #include <linux/init.h> MODULE_LICENSE("Dual BSD/GPL"); extern int add_integar(int a,int b);
printk("ADD:%dn",a); return 0;
void cleanup_module(void) return ; 对应的Makefile obj-m =testhello.o KBUILD_EXTRA_SYMBOLS = /root/Module.symvers
clean: 在linux2.6.26之后内核有Bug, 在编译时会找不到导出函数,出现undefined错误 在运行时出现unknown symbol错误.
|
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |