我一直在使用这样的事情:c + +确定是否使用调试符号编译而不定义预处理器符号
int main(int argc, char *argv[])
{
#ifdef DEBUG
printf("RUNNING DEBUG BUILD");
#else
printf("Running... this is a release build.");
#endif
...
然而,这需要我为-DDEBUG调试版本进行编译。 GCC是否为我提供了一些方法来确定何时使用调试符号(-g标志)进行编译,例如定义自己的预处理器宏,我可以检查它们?
我不确定,但我非常怀疑它。理论上,预处理可以在编译之前用'cpp'命令单独完成,预处理器没有调试符号或'-g'选项的概念。 – 2011-03-07 18:06:03