问题描述
在一个包含数十个模块的项目中,我们将O1
作为默认的调试优化级别。
有时候,我需要进行次优的优化(即完全没有优化)。因此,我使用clang属性optnone
将单个函数排除在优化之外。
但是当要排除的功能数量很大时,这将变得很麻烦。
有没有一种方法可以将整个模块排除在优化之外?例如,在模块顶部设置一个编译指示。
解决方法
Clang具有特定于编译器的pragma
是的,请尝试:
#pragma clang optimize off
//region of code
#pragma clang optimize on