gcc是gnu的项目,g++作为c语言的编译器已经做了很多年了。

从gcc的官网上也已经从C98维护到了C23,每一代和java一样都会有层出不穷的新知识。虽然觉得很鸡肋。
c++在不断变化的同时,gcc也在不断的变化迭代,老版本已经差不多被这个时代抛弃了。

下面是对于c++和gcc所支持版本的参考。

C++版本 GCC版本支持情况 GCC版本 指定版本的命令标志
C++98 完全支持 是GCC 6.1之前版本的默认模式 -std=c98 or -std=gnu98
C++11 完全支持 从GCC4.8.1版本开始完全支持 -std=c11 or -std=gnu11
C++14 完全支持 从GCC 6.1版本开始完全支持,是GCC 6.1到GCC 10 (包括) 的默认模式 -std=c14 or -std=gnu14
C++17 完全支持 从GCC 5版本开始,到GCC 7版本,已基本完全支持。 是GCC 11版本的默认模式 -std=c17 or -std=gnu17
C++20 未完全支持 从GCC 8版本开始陆续支持C++20特性 -std=c20 or -std=gnu20 (GCC9及以前使用-std=c++2a)
C++23 未完全支持(标准还在发展中) 从GCC 11版本开始支持C++23特性 -std=c2b or -std=gnu2b

macos 默认支持的是4.2.1版本的gcc。macos支持版本大部分不能够满足开发需求了。(应该升级了,不然也会占用开发者大量的时间,因为是系统自带的编译环境不能够随意删除)

之后的升级一般采用

  1. 用源码进行编译,这样也会很鸡肋,他占用的内存比例很大。

  2. 用brew环境 brew是专门为macos用户所提供的开源的解决方案,大部分有名气的开源软件基本上都会收录到他的库中。

  3. 源码安装

1.下载源码包
wget http://ftp.gnu.org/gnu/gcc/gcc-6.2.0/gcc-6.2.0.tar.bz2
2.解压
tar jxf gcc-6.2.0.tar.bz2
3.下载编译依赖
cd gcc-6.2.0
./contrib/download_prerequisites
4.生成makefile文件
mkdir gcc-build-6.2.0
cd gcc-build-6.2.0/
../configure -enable-checking=release -enable-languages=c,c++ -disable-multilib
5.编译
make -j4
6.安装
make install
7.查看版本
gcc -v
  1. brew 安装

使用 Homebrew 来安装 GCC
首先先查找下最新的 GCC 版本

brew search gcc
brew install gcc@8

安装完之后查看下版本:

gcc-8 -v

基本上所有的c语言c++的doc都在这里

http://www.gnu.org/software/libc/
https://gcc.gnu.org/onlinedocs/
https://www.boost.org/
https://zh.cppreference.com/w/首页
https://cplusplus.com/reference/string/string/?kw=string
https://www.learncpp.com/
https://cplusplus.com/
https://isocpp.org/

其他如果有补充的可以在评论区留言