c++ - gcc/g++ 是否生成 if(false) 语句的主体?

标签 c++ compilation compiler-optimization

在 C++ 中,假设我有一个类似的函数

bool Aclass::func(){
   return true;
}

主要是这样调用的

 if(!func()) { 
    //do stuff 
 }

编译器会生成这些代码行吗?

最佳答案

像所有优化问题一样,它取决于编译器和给定的标志。话虽如此,如果提供了优化标志,一个像样的现代编译器将能够删除这样的死代码。试试https://godbolt.org/亲自查看哪个编译器和哪些标志将成功删除死代码。

关于c++ - gcc/g++ 是否生成 if(false) 语句的主体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44827554/

相关文章:

c++ - 将指向未知实例(但已知类)的已知成员的指针转换为拥有实例

Enterprise Architect API 中的 Java "Cannot find symbol"

C#/XNA - 乘法比除法快?

c++ - 在 R 中快速重复构建包

c++ - 如何对数字元组应用 Action 元组?

asp.net - 如何从 TeamCity 预编译 ASP.NET Web 应用程序?

c++ - visual studio 2012 编译时间

C 编程 : difference between++i and i=i+1 from an assembler point of view?

haskell - 当构造函数静态已知时消除 GADT 上的模式匹配

c++ - 关于模板函数中 vector 迭代器的问题