当前位置: 技术问答>linux和unix
问个在模块中调用内核函数的未定义问题
来源: 互联网 发布时间:2017-01-14
本文导语: 我在一个模块的open()函数中调用了dev_activate()这个函数,在编译的时候,直接显示dev_activate这个函数未定义,有没有高手晓得这个是啥原因的哈 PS:函数的声明所在的头文件/net/sch_generic.h已经包含在里面了,这个函数...
我在一个模块的open()函数中调用了dev_activate()这个函数,在编译的时候,直接显示dev_activate这个函数未定义,有没有高手晓得这个是啥原因的哈
PS:函数的声明所在的头文件/net/sch_generic.h已经包含在里面了,这个函数所在的定义的地方是在/net/sched/sch_generic.c
PS:函数的声明所在的头文件/net/sch_generic.h已经包含在里面了,这个函数所在的定义的地方是在/net/sched/sch_generic.c
|
在 /net/sched/sch_generic.c 中加入
EXPORT_SYMBOL_GPL(dev_activate);
EXPORT_SYMBOL_GPL(dev_activate);
|
从符号表中找出函数符号
然后分析一下 得出你的地址地址
然后调用这个地址
不需要重新编译内核
然后分析一下 得出你的地址地址
然后调用这个地址
不需要重新编译内核