ziyan-zhang / export_symbol

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

运行:

./run.sh

B模块引用A模块中的函数C,需要三点:

  1. A模块中把C函数EXPORT_SYMBOL(C)出来
  2. B模块make的时候指定引用A模块中的符号
  3. B模块中声明函数C

打印效果为

[ 3876.650409] EXPORT_SYMBOL Module one, Init!
[ 3876.657586] EXPORT_SYMBOL Module two, Init!
[ 3876.657589] EXPORT_SYMBOL In Func: function_one...
[ 3876.657590] EXPORT_SYMBOL In Func: function_two...
[ 3876.664471] EXPORT_SYMBOL Module two, Exit!
[ 3876.705604] EXPORT_SYMBOL Module one, Exit!

两个教程:

第一个:https://blog.csdn.net/xhz1234/article/details/44278137

写道模块引用三种方法,其中第二种可以,就是修改B模块的Makefile文件,make前加一行

KBUILD_EXTRA_SYMBOLS += ~/export_symbol_one/Module.symvers

第二个:https://blog.csdn.net/qq_37858386/article/details/78444168

这个教程打印输出比较清楚,用的这个教程的.c代码


下面是一样的,用的是第一个教程的代码,看当前这个仓库就好了

https://github.com/ziyan-zhang/another_kernel_module_call

About


Languages

Language:C 63.8%Language:Shell 22.3%Language:Makefile 13.9%