代码块调试预处理器

maj*_*aja 6 c++ codeblocks c-preprocessor

我正在编写带有代码块的C ++程序,出于调试目的,我需要知道代码块的构建目标是否设置为“ DEBUG”或“ RELEASE”。

我已经试过了:

#ifdef DEBUG
    printf("Debug-Message");
#endif
Run Code Online (Sandbox Code Playgroud)

和这个

#ifdef _DEBUG
    printf("Debug-Message");
#endif
Run Code Online (Sandbox Code Playgroud)

但是这些词都没有定义。每次更改建筑目标时,我是否必须自己定义调试并进行更改,还是有一个我不知道的词?

Sco*_*ter 5

每次更改建筑目标时,我是否必须自己定义调试并进行更改,还是有一个我不知道的词?

我不知道该怎么办,如果Code :: Blocks默认设置了什么。但是,如果您定义自己的#defines

Project->Build options...->[Debug|Release]->#defines 
Run Code Online (Sandbox Code Playgroud)

在构建目标(调试或发布)之间切换时,无需更改它们。它使您可以定义特定于Debug版本的值,以及特定于Release版本的值。

为了避免每次都为每个新项目手动输入项目,您可以仅使用Debug / Release #defines创建一个小项目,并将其保存为项目模板,然后从该项目模板创建新项目。