Linux 编译安装 GCC 4.9
Last updated
Was this helpful?
Last updated
Was this helpful?
详情及变更请参照:
GCC4.9发布啦,本脚本在之前4.8的基础上做了稍许改进,更新 PS:4.9.0 开始支持C++1y特性 GCC 4.9 的大致变更如下,因为我只用C/C++所以更关注通用性高的C和C++的部分啦:
标记过时系统
移除mudflag功能
在ARM架构中引入内存错误检查器AddressSanitizer
增加运行时错误检测器UndefinedBehaviorSanitizer
多项链接优化(包含对类型合并功能重写、函数体按需加载等)[Debug模式的Firefox内存消耗从15GB降到3.5GB,链接时间从1700秒降到350秒]
Inter-procedural优化改进(包含新的继承类型分析模型、直接调用转为非直接调用和本地符号别名等)
Feedback优化(包含对c++内联函数性能分析的改进、函数排序等)
支持OpenMP 4.0[并行计算]
C、C++、Fortran增加date-time警告
GNAT切换到Ada2012
C/C++ 增加编译信息带颜色输出(-fdiagnostics-color=auto)
单指令多数据(SIMD)指令的无循环依赖断言
支持Cilk Plus(C和C++的数据与任务并行处理插件)
C11原子操作、线程本地存储
C++1y 返回类型检测、lambda函数默认参数支持、可变长度数组、[[deprecated]]属性支持、数字分隔符支持、多态lambda表达式
支持正则表达式、部分C++14实验性内容
Fortran更新的内容我就无情地忽略啦
Go语言1.2.1版本的接口
还有一系列针对特定编译目标架构的优化
编译安装 GCC 4.9.X
支持 ISO C++ 98 的编译器(GCC 4.7.2 的中期一个patch导致的整个项目开始转为由C++编译)
C标准库及头文件
用于创建Ada编译器的GNAT
支持POSIX的shell或GNU bash
POSIX或SVR4的 awk工具
GNU binutils
cloog 版本0.18.1(此处可下载 ftp://gcc.gnu.org/pub/gcc/infrastructure/ )
CentOS 6.2 & CentOS 6.5 & Fedora 20 & Ubuntu 14.04 LTS
gzip 1.3.12
zip/unzip 3.0
GNU make 3.81
tar 1.23
perl 5.10.1
bzip2 1.0.5
gcc 4.4.7 or gcc 4.4.5 or gcc 4.8.2
gmp 6.0.0a
mpfr 3.1.2
mpc 1.0.2
isl 0.11.1
cloog 0.18.1
gcc 4.9.X
binutils 2.24
python 2.7.8 [按需]
gdb 7.7.1 (如果存在ncurses-devel包)
(所有的库都会被安装在$PREFEX_DIR里)
给特定用户安装 gdb的pretty-printer 用以友好打印stdc++的stl容器
在执行 install.sh 脚本前安装 ncurses-devel 和 python-devel, 用于编译gdb和开启python功能
安装完成后,把[GCC源码目录]/libstdc++-v3/python 复制到[用户目录]/.gdb
编辑[用户目录]/.gdbinit,添加
编译安装gdb
2014-04-23 Created
2014-04-28 增加一些控制选项
2014-05-23 更新gdb到7.7.1
2014-07-18 更新gcc到4.9.1,更新python到2.7.8
2014-11-12 更新gcc到4.9.2,更新gdb到7.8.1
gzip 版本1.2.4及以上 (可由GNU镜像列表 或自动选择最佳镜像 下载 )
bzip2 版本 1.0.2及以上 (此处可下载
GNU make 工具 版本3.80及以上 (可由GNU镜像列表 或自动选择最佳镜像 下载 )
GNU tar工具 版本1.14及以上 (可由GNU镜像列表 或自动选择最佳镜像 下载 )
perl 版本5.6.1及以上 (此处可下载
jar或zip和unzip工具 (此处可下载 )
gmp库 版本4.3.2及以上 (可由GNU镜像列表 或自动选择最佳镜像 下载 )
mpfr库 版本2.4.2及以上 (可由GNU镜像列表 或自动选择最佳镜像 下载 )
mpc库 版本0.8.1及以上 (可由GNU镜像列表 或自动选择最佳镜像 下载 )
isl 版本 0.10, 0.11 或0.12 (可由GNU镜像列表 或自动选择最佳镜像 中gcc目录中的infrastructure目录下载 )