我正在使用一个#ifdef块有条件地包含一个基于代码块 - Dflag传递给编译器.
有没有办法实现这个if?
有点像:
if (defined(flag)) {
}
Run Code Online (Sandbox Code Playgroud)
您使用预处理器生成不同的标志,可以使用运行时if语句进行测试,如下所示:
#ifdef flag
#define flag_defined 1
#else
#define flag_defined 0
#endif
Run Code Online (Sandbox Code Playgroud)
现在你可以这样做:
if (flag_defined) ...
Run Code Online (Sandbox Code Playgroud)