Ubuntu管理gcc、g++的区别和版本管理方法

区别

gccg++ 是 GNU Compiler Collection(GCC)的一部分,用于编译 C 和 C++ 代码:

  1. gcc(GNU Compiler Collection):

    • gcc 是用于编译 C 语言的命令。
    • 它可以将 C 语言的源代码(.c 文件)编译成机器可执行的二进制文件。
    • gcc 还可以编译 C++ 代码,但必须手动指定 -lstdc++ 以链接 C++ 标准库。
  2. g++:

    • g++gcc 的一个专门用来处理 C++ 的版本。
    • 它自动链接 C++ 标准库,因此不需要手动指定 -lstdc++
    • 使用 g++ 时,编译器会默认将源文件识别为 C++ 代码。

区别

  • 语言特性gcc 默认用于 C 语言,而 g++ 用于 C++ 语言。
  • 库链接g++ 会自动链接 C++ 标准库,而 gcc 需要手动指定 -lstdc++ 来链接。
  • 代码解析g++ 默认使用 C++ 的代码解析方式,因此会按 C++ 规则处理源代码(如类型检查和命名空间)。

使用 update-alternatives管理版本

  • 安装不同版本的 GCC: 如果还没有安装所需版本的 GCC,可以使用以下命令进行安装。例如,要安装 GCC 8 和 GCC 9:

sudo apt update sudo apt install gcc-8 g++-8 gcc-9 g++-9 
  • 使用 update-alternatives 设置优先级

    sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-8 80 
    sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 90 
    sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-8 80 
    sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-9 90 

  • 选择默认的 GCC 版本: 使用以下命令选择所需版本的 GCC。

    sudo update-alternatives --config gcc sudo update-alternatives --config g++

    运行命令后,将显示一个选项列表,例如:

    There are 2 choices for the alternative gcc (providing /usr/bin/gcc). Selection Path Priority Status ------------------------------------------------------------

    0 /usr/bin/gcc-9 90 auto mode

    1 /usr/bin/gcc-8 80 manual mode

    2 /usr/bin/gcc-9 90 manual mode

    输入编号选择所需的 GCC 版本(例如选择 1 来使用 GCC 8)。

  • 验证更改: 使用以下命令验证当前使用的 GCC 版本:

    gcc --version 
    g++ --version

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值