栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

g++和gcc的区别以及mac下的g++升级

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

g++和gcc的区别以及mac下的g++升级

1、g++ 和 gcc是什么?

常见的误解:gcc是g++的子集,在运行C源码的时候g++会调用gcc。

往下看,解开误解。

  • GCC
    GCC是GNU编译器集合的意思,它是一套编程语言编译器,提供了g++ 和 gcc等命令。GCC原名GNU C语言编译器,因为它本来只能处理C语言,后来扩展到多种语言。GCC也常被认为是跨平台编译器的事实标准。
  • g++和gcc都是driver
    g++和gcc是编译器提供给用户的命令,他们都是driver,狭义上来讲,driver的功能是调用相关的编译器,把源码编译到汇编代码。例如,C语言的编译器(狭义)是cc1,而C++语言的编译器(狭义)是cc1plus。
  • g++和gcc的区别
    二者的区别无非就是调用的编译器不同,传递给链接器的参数不同。driver会根据源码的后缀名选择调用什么编译器。
2、在mac上更新g++

第一步,检查并安装homebrew,看这篇文章,已经安装过的跳过。
第二步,查看gcc版本并安装。

brew info gcc         #查看版本
brew install gcc      #安装gcc

第三步,在shell配置文件添加别名
这一步是为了用我们刚刚使用homebrew安装的gcc替换系统的gcc,因为走到这一步时,执行系统g++版本查看命令 g++ -version 查看会发现系统的gcc版本并未变化,这是未配置的原因。配置步骤如下:

打开配置文件:

vi ~/.zshrc              #使用zsh的系统
vi ~/.bash_profile       #使用bash的系统

在其中添加:

alias gcc='gcc-11'
alias g++="g++-11"
alias cc="gcc-11"
alias c++="c++-11"

然后

source ~/.zshrc              #使用zsh的系统
source ~/.bash_profile       #使用bash的系统

至此,g++升级完成,可以重新查看版本。

当时我升级完g++的时候产生了一个疑问:我要升级的是g++,为什么我是在安装gcc?
看了前面我关于g++和gcc区别的讨论,你应该不会再有这个疑问,因为这里的gcc是指编译器集合,而不是driver。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/457827.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号