2

从源代码编译 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


我也遇到过类似这样的页面,它们声明会-O3生成臃肿的二进制文件,并且不建议在 gcc 4.x 中使用 -O3。.


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

简而言之,问题是:

  • 如何编译 GCC 的优化版本。
  • O3一个不错的选择吗?
4

1 回答 1

0

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

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

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

于 2013-06-15T03:09:23.473 回答