CentOS下源码编译安装gcc7.3
# yum安装依赖环境
sudo yum install glibc-headers gcc-c++ -y

# 下载gcc7.3源码
cd /usr/local/src
wget -c https://ftp.gnu.org/gnu/gcc/gcc-7.3.0/gcc-7.3.0.tar.gz

# 下载依赖项
tar zxf gcc-7.3.0.tar.gz
cd gcc-7.3.0
./contrib/download_prerequisites

# 新建一个编译目标文件暂存文件夹,官方文档不建议使用gcc源码包的文件夹
mkdir gcc-build-7.3.0
cd gcc-build-7.3.0

# 开始编译安装,注意make时间较长,单核cpu大概需要1个小时左右
../configure -enable-checking=release -enable-languages=c,c++ -disable-multilib
make -j24
sudo make install

# 新版本的gcc库被安装在了/usr/local/lib64下
# 查看gcc版本
/usr/local/bin/gcc -v

# 将gcc原版本移除备份
sudo mv /usr/bin/gcc /usr/bin/gcc.bak
sudo mv /usr/bin/cc /usr/bin/cc.bak
sudo mv /usr/bin/c++ /usr/bin/c++.bak

# 测试不带路径执行gcc是否是最新版本,此时应为新安装的版本
. /etc/profile
gcc -v

# 删除原有软链,将默认库的软链指向最新动态库
sudo ln -sf /usr/local/lib64/libstdc++.so.6.0.24 /usr/lib64/libstdc++.so.6
sudo ln -sf /usr/local/lib64/libstdc++.so.6.0.24 /lib64/libstdc++.so.6

# 由于一些程序编译安装的时候会默认使用cc和c++命令,所以需要创建软链
sudo ln -sf /usr/local/bin/gcc /usr/local/bin/cc
sudo ln -sf /usr/local/bin/gcc /usr/local/bin/c++

# END