使用devtoolset进行高效的编程开发
随着编程语言和工具的不断发展,开发者们需要时刻保持对技术的更新和学习。而在Linux平台上,使用编程工具也需要一定的技巧和效率。本文将介绍devtoolset在编程开发中的使用,包括基本概念,安装,使用方法等等。当你完全掌握这些知识后,你将会在Linux上实现高效的编程开发。
一、devtoolset基本概念
Devtoolset是开源组织Software Collections (SCL)的一部分。它是一组工具,包括编译器、调试器和其他构建工具,这些工具常以软件包的形式打包,并发布到Red Hat Enterprise Linux、CentOS和Scientific Linux等Linux平台上。Devtoolset的编译工具支持多个版本的编译器,来制定不同的应用程序和项目的编译需求。例如 Devtoolset 7, 8 和 9支持 GCC 7, 8和 9版本的编译器。
根据开发者的需求,在同一系统上同时安装多个版本的编译器工具很重要。特别是当应用程序需要特定版本的Glibc时, 这个需求非常迫切,因为新版本的编译器可能会依赖新版本的Glibc。
二、devtoolset安装方法
在 CentOS 7 或 RHEL 7 上安装 Devtoolset,请执行以下命令:
# yum install centos-release-scl # yum install devtoolset-9
# yum install devtoolset-9-gcc*
安装完成后,执行以下命令以启用Devtoolset 9环境:
# scl enable devtoolset-9 bash
运行命令之后,当前终端中将自动激活Devtoolset 9。可以使用gcc -v 查看当前终端的gcc版本。
显示为 gcc version 8.3.1 20190311 (Red Hat 8.3.1-3) (GCC)
补充:这条激活命令只对本次会话有效,重启会话后还是会变回原来的4.8.5版本,要想随意切换可按如下操作。
首先,安装的devtoolset是在 /opt/rh 目录下的,如图
每个版本的目录下面都有个 enable 文件,如果需要启用某个版本,只需要执行
source ./enable
所以要想切换到某个版本,只需要执行
source /opt/rh/devtoolset-8/enable
可以将对应版本的切换命令写个shell文件放在配了环境变量的目录下,需要时随时切换。
如果开发者需要在启动时默认激活Devtoolset 9环境,可以执行以下命令:
# echo "scl enable devtoolset-9 bash" >> ~/.bashrc
执行上述命令后,每次启动终端时,将自动激活Devtoolset 9环境。
还有一种方式就是直接替换旧的gcc
旧的gcc是运行的 /usr/bin/gcc,所以将该目录下的gcc/g++替换为刚安装的新版本gcc软连接,免得每次enable
mv /usr/bin/gcc /usr/bin/gcc-4.8.5 ln -s /opt/rh/devtoolset-8/root/bin/gcc /usr/bin/gcc mv /usr/bin/g++ /usr/bin/g++-4.8.5 ln -s /opt/rh/devtoolset-8/root/bin/g++ /usr/bin/g++ gcc --version g++ --version
三、使用devtoolset编译程序
在激活Devtoolset环境之后,您将可以使用新版本的编译器来编译和构建应用程序。
例如,使用Devtoolset 9编译C++代码:
$ scl enable devtoolset-9 bash $ g++ --version $ g++ -Wall -o myprogram myprogram.cpp
在编译代码时,也可以使用特定版本的编译器。例如,使用Devtoolset 9中的编译器:
$ scl enable devtoolset-7 bash $ g++ --version $ g++ -Wall -o myprogram myprogram.cpp
四、devtoolset的好处
使用Devtoolset的好处在于,您可以在同一个系统上使用多个版本的编译器,以便满足不同应用程序的需求。此外,使用Devtoolset可以更轻松地使用新功能、性能优化等。
与其他通用的软件工具相比,Devtoolset拥有专门的技术和支持,因此可以更轻松地在您的Linux环境中实现高效的编程开发。