【发布时间】:2015-02-12 23:41:56
【问题描述】:
出于调试目的,我想要一个预处理器定义,例如
#define LOGGING 1 //or #define LOGGING 0 when logging is undesired
并添加
if (LOGGING) log("Text here!");
我希望它发生在代码中的任何地方。
现在,我只想在编译器能够读取的情况下这样做
if (0) log("blah blah blah");
例如,并且根本不将其添加到最终代码中。或者,如果 if 设置为 true
if (1) log("blah blah blah");
删除 if 条件,只添加该行。
那么,最后,那些 if 真的会影响性能吗?
PS:我用的是VS,不过也可以用g++
【问题讨论】:
-
这取决于编译器,但很可能是的,无法到达的分支会被优化掉。
标签: c++ visual-c++ logging compilation c-preprocessor