JTD*_*MAN 2 c++ macros conditional-compilation c-preprocessor preprocessor-directive
在C++中,我知道程序员#ifdef 0用来阻止代码运行,但在同一个项目中,我看到了很多#ifdef 1.这是否意味着代码总是运行?不幸的是代码没有编译所以我不能只运行和测试!
Jam*_*lis 12
#ifdef 1是不正确的.该#ifdef指令需要一个标识符; 1不是标识符.
#ifdef x相当于#if defined(x).所述defined预处理运算收率true如果标识符名称的定义的宏(即,已被定义了宏#define并通过尚未未定义#undef)和false其它.
所述#if指令允许或禁止在它和对应的线的汇编#else,#elif或#endif它后面(在指令巢)指令.
您可能正在寻找的是#if 1(或#if 0),这是有效的.