0

我的文件 A.cpp 在源文件中有 targetlibs=Lib.lib 。Lib.cpp 是用 C_defines=-DSomething 编译的,但 A.cpp 是用 C_defines=-DOther 编译的。Lib.pp 包含 -DSomething 和 -DOther 的 #ifdefs。

在这种情况下会发生什么?-DSomething 是由 -DOther 保留还是替换?-Dother 是否被忽略?还是两者都保留?谢谢

4

1 回答 1

1

定义在编译时产生影响,因此 -DSomething 保留用于库代码,-DOther 保留用于程序代码。请注意,如果 Lib 的标头,例如 Lib.h 包含在 A.cpp 中,-DOther 也用于标头代码,因为它与 A.cpp 位于同一编译单元中。

于 2011-02-16T20:11:57.743 回答