如何进行gcc版本切换

一、安装多个gcc版本

在Linux系统下,可以通过安装不同的gcc版本实现版本切换。首先,需要安装需要的gcc版本。

例如,安装gcc-4.8和gcc-8.3:

sudo apt-get install gcc-4.8
sudo apt-get install gcc-8

安装完后,可以在终端中使用下面的命令查看已安装的gcc版本:

dpkg --list | grep gcc

得到输出结果如下:

ii  gcc-4.8                         4.8.5-4ubuntu2~14.04.1         amd64        GNU C compiler
ii  gcc-4.8-base:amd64              4.8.5-4ubuntu2~14.04.1         amd64        GCC, the GNU Compiler Collection (base package)
ii  gcc-8                            8.4.0-1ubuntu1~18.04            amd64        GNU C compiler
ii  gcc-8-base:amd64                8.4.0-1ubuntu1~18.04            amd64        GCC, the GNU Compiler Collection (base package)

可以看到已经安装的gcc版本的名称和版本号。

二、使用update-alternatives切换版本

在安装多个gcc版本后,可以使用update-alternatives工具切换版本。

使用下面的命令添加gcc-4.8为备选项:

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 50

其中50表示优先级,数字越大优先级越高。

再使用下面的命令添加gcc-8为备选项:

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-8 60

同样,数字60表示优先级,数字越大优先级越高。这里为了便于理解,将优先级设置为了不同的数字。

使用下面的命令查看gcc相关的备选项:

sudo update-alternatives --config gcc

得到输出结果如下:

There are 2 choices for the alternative gcc (providing /usr/bin/gcc).

  Selection    Path            Priority   Status
------------------------------------------------------------
  0            /usr/bin/gcc-8    60        auto mode
  1            /usr/bin/gcc-4.8  50        manual mode
* 2            /usr/bin/gcc-8    60        manual mode

Press <enter> to keep the current choice[*], or type selection number: 

可以看到当前共有2个备选项,当前选中的是gcc-8。

使用对应的数字选择备选项即可进行版本切换。

三、使用alias命令切换版本

在终端中使用alias命令可以方便地切换不同版本的gcc。

在.bashrc文件中添加下面的代码:

alias gcc4='gcc-4.8'
alias gcc8='gcc-8'

之后在终端中输入gcc4即可使用gcc-4.8,输入gcc8即可使用gcc-8。

四、使用脚本自动切换版本

以上方法都需要手动切换版本,如果频繁切换版本,可以使用脚本实现自动切换。

在脚本中使用update-alternatives命令切换版本即可,可以根据需要设置优先级。

下面是示例脚本:

#!/bin/bash

if [ -z "$1" ]
  then
    echo "No argument supplied, please input version number"
else
  if [ "$1" == "4.8" ]
    then
      sudo update-alternatives --set gcc /usr/bin/gcc-4.8
  elif [ "$1" == "8.3" ]
    then
      sudo update-alternatives --set gcc /usr/bin/gcc-8
  else
    echo "Invalid argument, please input 4.8 or 8.3"
  fi
fi

该脚本可以根据输入的参数来切换不同版本的gcc。

五、总结

以上就是gcc版本切换的几种方法,可以根据实际情况选择合适的方法,方便进行开发和测试。

原创文章,作者:LLKOV,如若转载,请注明出处:https://www.506064.com/n/333250.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
LLKOV的头像LLKOV
上一篇 2025-01-27 13:34
下一篇 2025-01-27 13:35

相关推荐

  • Git secbit:一种新型的安全Git版本

    Git secbit是一种新型的安全Git版本,它在保持Git原有功能的同时,针对Git存在的安全漏洞做出了很大的改进。下面我们将从多个方面对Git secbit做详细地阐述。 一…

    编程 2025-04-29
  • 如何将Java项目分成Modules并使用Git进行版本控制

    本文将向您展示如何将Java项目分成模块,并使用Git对它们进行版本控制。分割Java项目可以使其更容易维护和拓展。Git版本控制还可以让您跟踪项目的发展并协作开发。 一、为什么要…

    编程 2025-04-28
  • Python的版本演变

    Python是一门非常流行的编程语言,它有着简洁、易读、易写的特点。自1991年由Guido van Rossum发明以来,Python已经发展成为一个成熟的编程语言,拥有多个版本…

    编程 2025-04-28
  • librosa版本用法介绍

    librosa是一个用于音频信号处理的python库,具有多种处理音频的功能。在librosa库中,版本号非常重要,在不同的版本中可能会存在一些差异。本文将围绕librosa的版本…

    编程 2025-04-28
  • Java多版本支持实现方式

    本文将从以下几个方面阐述如何实现Java多版本支持,并给出可行的代码示例。 一、多版本Java环境概述 Java是一门跨平台的编程语言,但是在不同的应用场景下,可能需要使用不同版本…

    编程 2025-04-27
  • Taro3.5.11版本微信小程序端v-html依然无法解析video为中心的问题解决方案

    该问题的解决是通过使用 Taro3.5.11 版本自定义组件进行处理,具体解决方案如下: 一、自定义组件 首先,我们需要创建一个自定义组件 VideoComponent,该组件的主…

    编程 2025-04-27
  • 利用SeaweedFS版本进行大规模文件存储与分配

    SeaweedFS是一个基于Go语言开发的分布式文件系统,它是一种高可用、高扩展性、高效率的解决方案。通过利用SeaweedFS版本,我们可以方便地实现大规模文件的存储与分配。 一…

    编程 2025-04-27
  • Python多版本共存Ubuntu

    本文将介绍如何在Ubuntu系统中完美地编译、安装、配置多个Python版本,并且让它们共存,以利于不同的Python应用程序的开发和执行。 一、安装多个Python版本 Ubun…

    编程 2025-04-27
  • 如何查Python的版本

    Python是一种高级编程语言,是当今最流行的编程语言之一。虽然Python编程语言非常易学易用,但是它的版本问题可能会让新手有些困惑。那么,如何查Python的版本呢?以下是一些…

    编程 2025-04-27
  • 指定Python版本安装库的方法

    为了保证项目的可迁移性,项目中需要指定Python版本。然而,有时候在指定版本的情况下,我们需要安装一些库。本文将介绍如何在Python中指定特定版本并安装库。 一、指定Pytho…

    编程 2025-04-27

发表回复

登录后才能评论