我修改了内核源代码r8169.c
并按如下方式计算timestamp
:
s64 a;
EXPORT_SYMBOL(a);
a = time();
我没有添加原始的时间戳函数调用
我正在内核的另一个源文件中使用变量a:
ip_input.c
extern s64 a;
s64 b,c;
b= time();
c = b-a;
我收到此错误:
ERROR: undefined reference to a
怎么解决?
最佳答案
从不完整的源代码来看,我想
s64 a;
EXPORT_SYMBOL(a);
a = time();
在函数内部,因此无法导出
a
,因为它是该函数的本地。若要在此模块之外使用
a
,必须使用文件范围定义它,例如。s64 a;
EXPORT_SYMBOL(a);
void some_function()
{
a = time();
}
这允许导出
a
的符号,然后在另一个模块中使用。关于c - Linux内核源代码中的错误?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23754381/