是否有与Clang/LLVM等价的#pragma或属性,用于设置optimize("2")?
在一个以 clang 为基础的构建系统中,编译数百个C 模块,采用 -O1 级别的优化。我需要把这两个函数(或它们所在的模块)的优化级别提升到 -O2 级别或更高。到目前为止我所了解到的是,gcc 可以通过优化指令和属性来实现,示例如下:
#pragma GCC optimize ("O3")
__attribute__((optimize("3")))
但似乎 clang 并不支持这样的构造?
我是不是漏掉了什么?是否可以使用 clang 来实现函数级别的优化定义?
更新:构建系统对所有模块使用相同的选项,特别是优化选项。我在寻找一种不需要修改makefiles层级的解决方案。
解决方案
因为这个pragma不被支持,且你也不想改变构建系统,我能想到的唯一变通办法是把这些函数移到一个单独的.c/.cpp文件中,并在你的构建规则中为该文件提供所需的优化标志。
(不确定你使用的是哪种构建系统)但大多数构建系统都允许为特定文件设置自定义标志。
站内所有文章版权归属LeftHeroAI导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。