Apple LLVM 5.0 编译器中的 GCC#pragma GCC optimize("O0")
或 VS 的等价物是什么?#pragma optimize("", off)
我需要它来禁用一段代码的优化。
从简短的搜索来看,clang/llvm 目前似乎不支持这样的编译指示。如果您不想关闭整个文件的优化,我建议将您不希望优化的内容分解到一个单独的文件中并单独设置 -O0 。
实际上,现在有一种方法可以通过指定__attribute__ ((optnone))
包装您不想优化的代码的函数来做到这一点。
例如,我使用它来获得内联函数的明确基准
static void BM_notoptimizedfunction(benchmark::State& state) __attribute__ ((optnone)) {
// your code here won't be optimized by clang
}
就是这样!