首页 文章

构建GCC时的优化

提问于
浏览
2

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

我想 Build 两个版本 . 一个优化和一个支持 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 是个不错的选择?

1 回答

  • 1

    我个人从未成为O3的粉丝 . 我发现第三级优化是优化,为了优化而牺牲了稳定性 .

    正如评论中提到的,02很常见 . 我还保留了测试版本的默认设置,以确保gcc在事故中没有销毁任何东西并从那里开始工作 .

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

相关问题