众所周知,在使用EXPORT_SYMBOL("function name")
时,我们进入System.map中的符号列表,将函数名称作为符号。
c041bc90 b packet_sklist
c041bc94 b packet_sklist_lock
c041bc94 b packet_socks_nr
c041bc98 A __bss_stop
c041bc98 A _end
c041c000 A pg0
ffffe400 A __kernel_vsyscall
我的问题是:是否有任何编译选项,黑客,宏或世界上的任何东西都允许你包含函数的参数?
即
c041bc90 b packet_sklist (list of arguments...)
这两个原因:
您可以导出do_something(int a)
并导出do_something(int a,int b)
。
在内核模块中使用extern函数时不会有bug 在论证中存在不匹配。
答案 0 :(得分:0)
您显示的第一个原因,即使EXPORT_SYMBOL支持参数,它也不支持变量参数,因为Linux使用C。