是否对if(0)和if(1)语句进行了优化?

SSWilks

出于调试目的,我想要一个预处理器定义,例如

#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 ++

穆雷尼克

任何体面的编译器都应优化if带有硬编码值语句。但是,如果您已经下线了,为什么不使用预处理器来全部处理呢?

#ifdef LOGGING
#define LOG(message)     printf(message);
#else
#define LOG(message)
#endif

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

是否对克隆语句进行了优化?

数组是否在 jOOQ 和 PostgreSQL 中进行了优化?

苹果是否已删除“针对iPhone 6和iPhone 6 Plus进行了优化”?

Ubuntu是否针对多核CPU进行了优化?

OpenCV是否在调试模式下进行了优化?

如何确定Swift是否使用优化进行了编译

是否对JavaScript引擎尾部调用(TCO)进行了优化?

针对循环python进行了优化

微观优化,是否已通过现代浏览器进行了优化?

检查是否在 ApplicationController 中进行了身份验证,导致“参数数量错误(给定 1,预期为 0)”

为什么gcc使用-O0进行了一些优化

如何检查我的应用程序是否已针对Android进行了电池优化配置?

Node.js:异步函数中是否对尾部调用进行了优化?

Kotlin的Float,Int等是否已针对JVM中的内置类型进行了优化?

Visual Studio是否针对超线程微处理器进行了优化?

是否仅对Azure表存储分区键查询进行了优化?

是否针对C标准进行了有条件的移动优化?

将数据框投射到数据集后的选择是否进行了优化?

ML系列编译器是否对尾部调用进行了任何复杂的优化?

如何确定给定的表是否对内存进行了优化?

在XML文件中具有所有参数是否进行了优化?

是否对不使用模板参数的模板化类的方法进行了编译器优化?

Rust编译器使用“ loop”和“ while true”进行了哪些优化?

C ++中的文件范围变量在gcc和clang中进行了不同的优化

内核是否进行了碎片整理

如何找出JVM对我的代码进行了哪些优化?

“ constexpr if”与“ if”进行了优化-为什么需要“ constexpr”?

Saxon XSLT 处理器是否针对将隧道参数设置为其当前值进行了优化?

我怎么知道,UITextField和UITextView中是否进行了任何更改/修改?