Visual Studio 2015中的编译器是什么 可以告诉我,VisualStudio 2015内置了编译器用于C++项目吗?我试过了,试过了旧版本的编译器,它给了我其他的编译结果。是GNU C++版本4.82还是更新版本? > P>它们有自己的编译器,它们是Visual C++ + < < /P>

Visual Studio 2015中的编译器是什么 可以告诉我,VisualStudio 2015内置了编译器用于C++项目吗?我试过了,试过了旧版本的编译器,它给了我其他的编译结果。是GNU C++版本4.82还是更新版本? > P>它们有自己的编译器,它们是Visual C++ + < < /P>,c++,visual-studio,visual-c++,visual-studio-2015,C++,Visual Studio,Visual C++,Visual Studio 2015,下面是IDE版本到编译器版本的比较。他们通常会在每个主要IDE版本中发布一个主要的编译器版本 Visual Studio 2005 - Visual C++ 8 BR> Visual Studio 2008 - Visual C++ 9 BR> Visual Studio 2010 - Visual C++ 10 BR> Visual Studio 2012 - Visual C++ 11 BR> Visual Studio 2013 - Visual C++ 12 BR> Visual St

下面是IDE版本到编译器版本的比较。他们通常会在每个主要IDE版本中发布一个主要的编译器版本

Visual Studio 2005 - Visual C++ 8 BR> Visual Studio 2008 - Visual C++ 9 BR> Visual Studio 2010 - Visual C++ 10 BR> Visual Studio 2012 - Visual C++ 11 BR> Visual Studio 2013 - Visual C++ 12 BR> Visual Studio 2015 - Visual C++ 14 BR> Visual Studio 2017 - Visual C++ 14.1 BR> Visual Studio 2019 - Visual C++ 14.2 < /P>


因此,为了明确回答你的问题,Visual Studio 2015使用编译器Visual C++ 14

< p> VisualStudio中的C/C++编译器,一直是微软(微软)编译的C++编译器(不是基于其他任何东西)。 现在,编译器是这样命名自己的:

Microsoft(R)C/C++优化编译器版本19.00.23026


在VS2015中,编译器可以针对x86和x64以及ARM。它支持几乎所有的C++11和C99,以及大部分C++14,再加上一点C++17(或任何时候)草稿。

运行此命令可以获得一些有用的信息:

#include <stdio.h>

int main()
{
    printf("_MSC_VER : %d \n", _MSC_VER);
    printf("_MSC_FULL_VER : %d \n", _MSC_FULL_VER);
    printf("_MSC_BUILD : %d \n", _MSC_BUILD);

    #ifdef _MSVC_LANG
        printf("_MSVC_LANG : C++%d \n", (_MSVC_LANG/100)%2000);
    #endif

    return 0;
}
#包括
int main()
{
printf(“\u MSC\u VER:%d\n”,\u MSC\u VER);
printf(“\u MSC\u FULL\u VER:%d\n”,\u MSC\u FULL\u VER);
printf(“\u MSC\u构建:%d\n”,\u MSC\u构建);
#ifdef_MSVC_LANG
printf(“\u-MSVC\u-LANG:C++%d\n”,(\u-MSVC\u-LANG/100)%2000);
#恩迪夫
返回0;
}
常见MSVC版本

MSVC++9.0_MSC_VER==1500(Visual Studio 2008)

MSVC++10.0_MSC_VER==1600(Visual Studio 2010)

MSVC++11.0_MSC_VER==1700(Visual Studio 2012)

MSVC++12.0_MSC_VER==1800(Visual Studio 2013)

MSVC++14.0_MSC_VER==1900(Visual Studio 2015)

MSVC++14.1_MSC_VER==1910(Visual Studio 2017)

宏解释:

< p> yMSvcangLang:定义为一个整型文字,它指定编译器的目标为C++语言标准 _MSC版本:以整数形式包含主版本号和次版本号(例如,“1500”是版本15.00)

_MSC_FULL_VER:包含主版本、次版本和内部版本号作为整数(例如,“150020706”是版本15.00.20706)


< M> SSCBULD:包含主版本、次版本和生成号(例如“1”是修订版1,如1500 .2070601)< /P> > P>基本上,Visual Studio 2015支持编译器Visual C++ 14。但是,对于更多的细节,您可以跟踪C++ 14的哪些特性已经实现。
<> P>也是,我喜欢Dorin的答案,他指出用代码检查编译器版本。< / P>它是微软自己的编译器。你怎么知道VisualStudio默认使用GNU编译器?我不知道它使用什么,我在Web中搜索,没有找到任何相关的东西,编译器通常被称为“Visual C++ 2015”。它根本不是GNU。它是GNU的替代品,由销售它的微软公司编写。@yzt是的,它令人困惑。在我见过的大多数地方,他们都宣传并将其标为VS2015,但例如,编译器和相关文件位于名为
Microsoft Visual Studio 14.0
的文件夹中。他们错过了将该版本与VS10/VC10同步的巨大机会。唉……没有13.0版;Visual Studio 2015内部版本为14.0。跳过了13个。发布年份用于营销名称;版本号在内部使用。在讨论产品时,最好使用营销名称(VisualStudio 2015)或“Visual C++ 2015”来避免混淆。编译器二进制文件的版本号不同(在本版本中为19),因为编译器早于VisualC++产品;Visual C++编译器是从较早的C编译器(参见)中进化出来的,为了增加混淆,这是VisualStudio版本。VS 2015中的实际编译器版本为“19.00”。使用
cl-Bv
。VS 2012为“17.00”,VS 2013为“18.00”。如果您询问Visual Studio 2015美元(平台工具集)是什么,它将打印“v140”。用于在将使用多个编译器版本生成的项目上设置生成路径。(例如图书馆。)