如何進行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/zh-hk/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

發表回復

登錄後才能評論