为啥在编译期间不使用 GCC 选项 -Os?

Posted

技术标签:

【中文标题】为啥在编译期间不使用 GCC 选项 -Os?【英文标题】:Why GCC option -Os is not used during compilation?为什么在编译期间不使用 GCC 选项 -Os? 【发布时间】:2011-06-25 14:45:41 【问题描述】:

Clang 警告我,

clang: warning: argument unused during compilation: '-Os'

在使用make 编译期间。为什么它不接受优化标志?

【问题讨论】:

【参考方案1】:

-Os 不是(大多数)clang 的有效优化选项 - 它与 GCC 的标志不完全兼容。

clang 手册页对您的特定版本接受哪些选项具有权威性(具体而言,按大小优化还不是 LLVM 的主要关注点)。 Apple 已推出针对 -Os-Oz 的补丁,但大多数软件包不包含这些更新。

【讨论】:

Apple 的clang 有点自定义,Xcode 4.0 中的clang 声称支持-Os,尽管在任何早期版本中都不支持。 @Eonil:请记住,使用 Berkley 风格的许可证发布 CLang 的主要原因之一是让 Apple 维护自定义版本,而无需 移植更改回到主线。 @Matthieu 谢谢。我知道,但我忘记了。现在又意识到了:)

以上是关于为啥在编译期间不使用 GCC 选项 -Os?的主要内容,如果未能解决你的问题,请参考以下文章

gcc 编译器标志在编译期间抑制模板扩展的模板错误?

win10我安装了gcc编译器可以运行gcc命令,为啥不能使用g++命令呢?如图

在优胜美地的 GCC 编译期间不再可能包含 Carbon 标头?

gcc 编译错误:模板类表中嵌套类 A ​​的成员在嵌套朋友类中不可见。为啥?

在编译/链接期间由 GCC 确定的符号值

我的Linux上面为啥没有gcc编译器