【问题标题】:Apple LLVM 5.0 pragma optimizeApple LLVM 5.0 编译指示优化
【发布时间】:2013-11-15 03:22:52
【问题描述】:

在 Apple LLVM 5.0 编译器中,GCC 的 #pragma GCC optimize("O0") 或 VS 的 #pragma optimize("", off) 是什么?

我需要它来禁用一段代码的优化。

【问题讨论】:

    标签: c++ xcode xcode5 pragma


    【解决方案1】:

    实际上,现在有一种方法可以做到这一点,方法是为包装您不想优化的代码的函数指定 __attribute__ ((optnone))

    例如,我使用它来获得内联函数的明确基准

    static void BM_notoptimizedfunction(benchmark::State& state) __attribute__ ((optnone)) {
        // your code here won't be optimized by clang
    }
    

    就是这样!

    【讨论】:

      【解决方案2】:

      从简短的搜索来看,clang/llvm 目前似乎不支持这样的 pragma。如果您不想关闭整个文件的优化,我建议将您不希望优化的内容分解到一个单独的文件中,并在其上单独设置 -O0。

      【讨论】:

        猜你喜欢
        • 2011-08-03
        • 1970-01-01
        • 2012-03-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-09-24
        • 1970-01-01
        相关资源
        最近更新 更多