我有通过 GCC 使用 .a
文件静态编译的 C 代码。
在 C 代码中,我使用在 .a 文件中实现的函数。
如果此函数是否在 .a
文件中定义,我如何执行使用 if else 之类的宏(在 C 代码中),例如 if 函数 a
未定义我想使用函数b
:
# IF_A_UNDEFINED
b()
#ELSE
a()
#ENDIF
这样可以吗?
最佳答案
3 个答案:不,不,也许(这可能不是您要找的)
简短的回答,不。
答案更长,但总而言之,仍然没有。在大多数情况下,编译错误是不容忽视的。当然,不能忽略未声明参数的使用,如果您正在寻找一个不存在的函数,那么,如果没有声明的函数名称,您就无法引用它。
最后,您可以像这样声明该函数:
void functionA() __attribute__((weak, alias("functionB")));
void functionB() { printf"Hello World\n"; }
关于c - 如何使用宏进行 undefined reference ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57655915/