【问题标题】:Optimization when building GCC构建 GCC 时的优化
【发布时间】:2013-06-15 02:44:04
【问题描述】:

从源代码编译 GCC 我不确定如何以及设置什么来优化构建。

我想构建两个版本。一个经过优化,一个支持ggdb(不确定我是否需要第二个)。我目前专注于第一个。在以前的版本中,我通常主要使用默认值。

发现在万维网上搜索这个以及一般的 GCC 构建有点困难,因为 99.9% 的点击是关于优化使用 gcc 编译的代码,而不是关于gcc 本身的优化和构建。

阅读gcc-4.8.1/INSTALL/index.html 文档,关于这个主题的内容很少。

gcc-4.8.1/INSTALL/build.html 说可以使用--with-build-config=NAME...,但gcc-4.8.1/INSTALL/configure.html 中不存在此选项。是不是要在别处使用?

./configure --with-build-config=bootstrap-O3 ...

应该使用一次:

make BOOT_CFLAGS='-O3'

改为?

是否正常使用例如:

CFLAGS="-O3" && CXXFLAGS="-O3" && ./configure

还是应该留在BOOT_CFLAGS


我也遇到过类似this one 这样的页面,他们指出-O3 会生成臃肿的二进制文件,不建议在 gcc 4.x 中使用 -O3。


如果这看起来很乱,那你是完全正确的。我在这里相当混乱/混乱/没有监督的状态。

简短的问题是:

  • 如何编译 GCC 的优化版本。
  • O3是个好选择吗?

【问题讨论】:

标签: c gcc compiler-optimization configure


【解决方案1】:

我个人从来不是 O3 的粉丝。我发现优化的第三层是优化,为了优化而牺牲稳定性。

正如 cmets 中提到的,02 很常见。我还保留了测试构建的默认设置,以确保 gcc 不会意外破坏任何东西并从那里开始工作。

老实说,除非您正在为嵌入式系统进行开发,否则从用户的角度来看,这可能并不重要,但可能值得尝试 02 并看看您获得了什么收益。

【讨论】:

    猜你喜欢
    • 2021-01-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-30
    • 2010-09-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多