VS版本、GCC版本与C++版本的对应关系

做嵌入式开发经常遇到一些编译器和C++版本不匹配的问题,现整理如下:

 

目前C语言的标准有:C89(ANSI C)、C90、C95、C99(ISO C)、C11(C1x)
目前C++语言的标准有:C++98、C++03(对98小幅修改)、C++11(全面进化)、C++14、C++17

C语言标准的介绍,请参考:C语言标准简介C89(ANSI C)、C99(ISO C)、C11(C1x) 
各种C++标准对应的编译器支持情况,请参考官方的对照表:C++ compiler support 
简单来分析一下GCC编译器对不同的C++标准的支持情况。


C++17:
    gcc7完全支持,gcc6和gcc5部分支持,gcc6支持度当然比gcc5高,gcc4及以下版本不支持。
C++14:
    gcc5就可以完全支持,gcc4部分支持,gcc3及以下版本不支持。
C++11:
    gcc4.8.1及以上可以完全支持。gcc4.3部分支持,gcc4.3以下版本不支持。

    高版本的gcc向下兼容,支持低版本的C++标准。

gcc版本的发布时间:http://gcc.gnu.org/releases.html

 

VC全名是Microsoft Visual C++是微软出的一个集成的c,c++开发环境,比较经典版本是97年出的 Microsoft Visual C++ 6.0,不过目前最好还是用VS2008以上的版本中的VC了。

VS全名是Microsoft Visual Studio目前已经出到2017了,是很大的一个开发环境,包含很多高级语言的开发环境,VC、VB等,VC只是VS其中的一个开发环境。

vc版本与vs版本对应关系如下所示:

Visual Studio 6 : vc6 
Visual Studio 2003 : vc7 
Visual Studio 2005 : vc8 
Visual Studio 2008 : vc9 
Visual Studio 2010 : vc10 
Visual Studio 2012 : vc11 
Visual Studio 2013 : vc12 
Visual Studio 2015 : vc14 
Visual Studio 2017 : vc15
 

C++17:
    vs2017基本支持,vs2015部分支持。
C++14:
    vs2017就可以完全支持,vs2015基本支持,vs2013部分支持。
C++11:
    vs2015及以上可以完全支持。vs2013基本支持,vs2012部分支持,vs2010及以下版本不支持。

你可能感兴趣的:(C++,C++,GCC,linux)