c++ - 如何在 C++ Builder (Clang) 中禁用 RVO?

标签 c++ clang c++builder copy-elision

我正在使用 C++ Builder XE6,我正在尝试使用移动构造函数进行一些测试,以将结果与复制构造函数进行比较。无论如何,即使在编译器设置中选中了“禁用所有优化”,我的编译器也会强制进行 RVO 优化。是否有一些额外的参数需要发送给编译器?

最佳答案

您正在寻找 -fno-elide-constructors

我在 Embarcadero 的文档中没有看到这方面的记录;然而,这是 clang 使用的标志,当我在 bcc64 6.70 上尝试时,它确实达到了预期的效果。

关于c++ - 如何在 C++ Builder (Clang) 中禁用 RVO?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24907424/

相关文章:

c++ - 基于 GCC 构建的 Clang

c++ - 编译器方差 : type of `this` when value-captured in mutable lambda defined in a const member function

sqlite - 加密 SQLITE 数据库并在 Windows VCL 应用程序中将其与 FireDac 一起使用

c++ - 使用 MinGW 编译的 Node js (node-api) 插件导致访问冲突

c++ - GLM + STL : operator == missing

c++ - 从父类(super class)调用子类中的虚函数

c++ - 绑定(bind)两个函数对象

delphi - 如何生成不同频率的连续音调?

c++ - 如何在自定义函数中使用 C++ Builder OPENARRAY

c++ - int main(int argc, char *argv[])