当我们在源文件中引用了外部变量,并且尚未链接定义这些外部变量的文件时,会遇到以下奇怪的错误:
例如:
extern uint8 i;
#define A(inta ,int b)
({
i++;
if(i==1) ret=1;
else ret = 0;
})
通常,在“未解析的外部符号”的情况下,任何类似函数的对象的编译代码都无法找到其引用的符号,可能是因为该符号未在目标文件或任何库中定义指定给链接器,删除extern 即可解决。
2020-11-06
最新推荐文章于 2024-07-22 21:49:24 发布