中国排名高的购物网站,免费软件下载网站有哪些,学企业网站开发,网站建设网站系统选择GCC#xff1a;GNU Compiler Collection 。编译器#xff0c;几乎Linux中所有程序#xff08;包括内核#xff09;都是gcc编译的#xff0c;包括libc。
gcc不仅仅是编译器#xff0c;gcc也有很多库#xff0c;依赖libc。gcc和libc互相依赖。
GCC官网#xff1a;GCC, …GCCGNU Compiler Collection 。编译器几乎Linux中所有程序包括内核都是gcc编译的包括libc。
gcc不仅仅是编译器gcc也有很多库依赖libc。gcc和libc互相依赖。
GCC官网GCC, the GNU Compiler Collection - GNU Project centos7升级GCC版本9.3
centos7默认安装的gcc版本是4.8.5。可使用SCL源升级gcc到更高版本。 ① 先使用yum安装SCL源(SCL repostory)。
注SCL(software collections)。
# 安装SCL源
yum install -y centos-release-scl ② 再使用yum安装devtoolset-9的软件包 devtoolset-9的说明User Guide Red Hat Developer Toolset 9 | Red Hat Customer Portal 可以安装整个devtoolset-9可以安装软件包组也可以只安装需要的软件包。 安装整个devtoolset-9yum install devtoolset-9 安装软件包组yum install devtoolset-9-toolchain 安装需要的软件包yum install devtoolset-9-gcc devtoolset-9-gcc-c devtoolset-9-binutils 本次只安装需要的软件包
# 查看yum仓库中所有与devtoolset-9-相关的软件包包括已安装和可安装
yum list devtoolset-9-\*# 安装需要的软件包
yum install -y devtoolset-9-gcc devtoolset-9-gcc-c devtoolset-9-binutils ③ 使新gcc生效
# 使新版本gcc生效(临时生效,重启将回到原版本)
scl enable devtoolset-9 bash# 查看gcc版本
gcc --version 使用SCL源安装的devtoolset-9的软件包默认在/opt/rh目录下。
devtoolset-9的启动文件是/opt/rh/devtoolset-9/enable。
devtoolset-9的可执行文件在/opt/rh/devtoolset-9/root/usr/bin目录下。
注/opt/rh/devtoolset-9/root/bin目录 指向(-) /opt/rh/devtoolset-9/root/usr/bin目录。 新gcc长久生效有两种办法一般都会添加环境变量。但本次选择指定文件软链接到指定位置。
# 新版本GCC长久生效的方法一将devtoolset-9启动文件添加环境变量
echo source /opt/rh/devtoolset-9/enable /etc/profile
# 新版本GCC长久生效的方法二新gcc可执行文件软链接到/usr/bin目录下
# 备份原来的gcc可执行文件
mv /usr/bin/gcc /usr/bin/gcc-4.8.5# 将新gcc可执行文件软链接到指定位置
ln -s /opt/rh/devtoolset-9/root/usr/bin/gcc /usr/bin/gcc 补充binutils devtoolset-9-binutils软件包提供binutils版本是2.32。binutils是二进制工具的集合二进制工具有ldasnmobjdump等。 可以通过rpm -qa | grep binutils查看使用yum安装的binutils版本。也可以通过二进制工具查看binutils版本例如ld --version。
# 查看binutils版本
# 方法一查看是否安装过binutils
rpm -qa | grep binutils# 方法二查看二进制工具版本,来间接查看binutils版本
ld --version
as --version
objdump --version
nm --version注意若devtoolset-9没有添加环境变量需要将/opt/rh/devtoolset-9/root/usr/bin目录下binutils的二进制工具ld/as/objdump/nm等软链接到指定位置/usr/bin目录下才会使用相应的新版本否则还是使用原来的版本。