日期:2014-05-16  浏览次数:20651 次

问个在模块中调用内核函数的未定义问题
我在一个模块的open()函数中调用了dev_activate()这个函数,在编译的时候,直接显示dev_activate这个函数未定义,有没有高手晓得这个是啥原因的哈
PS:函数的声明所在的头文件/net/sch_generic.h已经包含在里面了,这个函数所在的定义的地方是在/net/sched/sch_generic.c

------解决方案--------------------
在 /net/sched/sch_generic.c 中加入

EXPORT_SYMBOL_GPL(dev_activate);

------解决方案--------------------
从符号表中找出函数符号
然后分析一下 得出你的地址地址
然后调用这个地址
不需要重新编译内核