从源代码编译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 回答
我个人从未成为O3的粉丝 . 我发现第三级优化是优化,为了优化而牺牲了稳定性 .
正如评论中提到的,02很常见 . 我还保留了测试版本的默认设置,以确保gcc在事故中没有销毁任何东西并从那里开始工作 .
老实说,除非你正在为嵌入式系统开发,否则从用户的角度来看可能并不重要,但是值得尝试02并看看你获得了什么 .