我正在使用 gcc,并且正在分发一个可以与某些第三方代码结合使用的目标文件。我有一些看起来像这样的东西:
void fn3rdParty(int bar) __attribute ((weak));
void fn(void) {
if(fn3rdParty)
fn3rdParty(SOME_ENUM);
}
其中 SOME_ENUM 是一个枚举,如果存在则由第三方代码定义。我尝试将 SOME_ENUM 声明为弱 int,但 gcc 抱怨该类型已重新定义。我想知道有没有办法解决这个问题?(我想避免使用一个 .o 文件与该软件一起使用,而另一个不使用)。
约翰