使用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,请执行以下命令:
1 2 | # yum install centos-release-scl # yum install devtoolset-9<br><br># yum install devtoolset-9-gcc* |
安装完成后,执行以下命令以启用Devtoolset 9环境:
1 | # 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 文件,如果需要启用某个版本,只需要执行
1 | source ./enable |
所以要想切换到某个版本,只需要执行
1 | source /opt/rh/devtoolset-8/enable |
可以将对应版本的切换命令写个shell文件放在配了环境变量的目录下,需要时随时切换。
如果开发者需要在启动时默认激活Devtoolset 9环境,可以执行以下命令:
1 | # echo "scl enable devtoolset-9 bash" >> ~/.bashrc |
执行上述命令后,每次启动终端时,将自动激活Devtoolset 9环境。
还有一种方式就是直接替换旧的gcc
旧的gcc是运行的 /usr/bin/gcc,所以将该目录下的gcc/g++替换为刚安装的新版本gcc软连接,免得每次enable
1 2 3 4 5 6 7 8 9 10 11 | 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++代码:
1 2 3 | $ scl enable devtoolset-9 bash $ g++ --version $ g++ -Wall -o myprogram myprogram.cpp |
在编译代码时,也可以使用特定版本的编译器。例如,使用Devtoolset 9中的编译器:
1 2 3 | $ scl enable devtoolset-7 bash $ g++ --version $ g++ -Wall -o myprogram myprogram.cpp |
四、devtoolset的好处
使用Devtoolset的好处在于,您可以在同一个系统上使用多个版本的编译器,以便满足不同应用程序的需求。此外,使用Devtoolset可以更轻松地使用新功能、性能优化等。
与其他通用的软件工具相比,Devtoolset拥有专门的技术和支持,因此可以更轻松地在您的Linux环境中实现高效的编程开发。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)