禁用g ++的返回值优化

cpp*_*ame 53 c++ compiler-construction optimization g++ return-value-optimization

我需要在命令行上使用哪些标志来禁用g ++编译器自动启用的返回值优化?

Pra*_*rav 89

-fno-elide-constructors

C++标准允许实现省略创建临时文件,该临时文件仅用于初始化相同类型的另一个对象.指定此选项会禁用该优化,并强制G ++在所有情况下都调用复制构造函数.[来源:man gcc]


  • 偏离主题:它可能会节省一些时间来注意clang [my --version是Apple clang 4.1版(标签/ Apple/clang-421.11.66)(基于LLVM 3.1svn)]使用此标志时有一个错误,在我的情况下似乎产生seg错误:http://llvm.org/bugs/show_bug.cgi?id = 12208 (2认同)