只知道export symbol是把内核函数的符号导出,也就是把函数的入口地址导出,但是不知道 export symbol怎么用?请指教。还有MODULE_LICENSE。
by sanshially - 内核/嵌入技术 - 2006-05-16 19:30:06 阅读(1089) 回复(3)
请问export_symbol的作用是什么呢?为什么在一个模块中定义一个函数指针,并且用export_symbol申明了,可在另一个模块中使用的时候,提示这个函数指针未申明. 什么原因呢?
由于我刚刚开始进行内核编程,所以,请你帮我解决如下问题: 在nfqueue.c中用export_symbol定义了__dequeue和cbq符号,并且加载后用ksyms可以看到该符号,但在queue_m.c中调用时,加载后出现: unresolved symbol cbq和unresolved symbol __dequeue. 为什么会出现该问题? 我的程序如下: /* nfqueue.c */ #define __KERNEL__ #define MODULE #include <linux/module.h> #include <linux/netdevice.h> #include <linux/kernel.h> #include <...
最近看linux Kernel-2.6.18的源代码发现export_symbol和export_symbol_GPL共存,不知二者有何区别,是否都可用于模块开发?另外,发现2.6内核中导出的符号好像比2.4多了不少,例如net/socket.c中有了许多可用的符号,不知哪里有这方面的比较具体的介绍? [ 本帖最后由 Randome 于 2006-11-13 15:43 编辑 ]
在模块的开头我写了 int value; export_symbol(value); 但是我insmod插入模块以后,并没有把value导入符号表。 cat /proc/kallsyms | grep value什么也看不到。
我在看printk.c中的printk()的定义的时候,发现这个文件中所有定义的函数结尾处,都声明export_symbol(printk)...... 为什么? 别的文件中的函数为什么不需要输出符号定义? 这些函数有什么特别吗??? 谢谢!
请教各位牛人,不知道大家有没有什么好办法解决在 linux下面写驱动时出现的模块中多出未知变量的方法。 本人在学习的过程中,写了一个驱动,结果老是出现两个 未知变量,去找却没发现什么异常。 然后一行行地删代码,却是在莫名奇妙的地方。 ....
程序调试时候没有问题 程序涉及内核编程 但运行时候出现以下错误: undefined symbol BufRung. 和 unresolved symbol BufRung. 请问是什么原因呢?
[root@rover107 scripts]# more data_archiver_export.sh.out Fri Apr 24 07:02:00 EDT 2009 ----------------Beginning of Script------------ Script name: /usr/openv/scripts/data_archiver_export.sh ORACLE_SID: test ORACLE_USER: oracle ORACLE_HOME: /u01/app/oracle/oracle/product/10.2.0/db_1 NB_ORA_SCRIPTS: /usr/openv/scripts NB_ORA_EXP_PARAMS: /usr/openv/scripts/bporaexp_tables.param BPORAEXP: /usr/openv...