Visual Studio 2015中的编译器是什么?

What compiler is in Visual Studio 2015

本文关键字:编译器 是什么 Studio 2015 Visual      更新时间:2023-10-16

谁能告诉我Visual Studio 2015中内置的c++项目编译器是什么?我试过它,试过旧版本的编译器,它给了我其他编译结果。是GNU c++ 4.8.2版本还是更新的版本?

他们有自己的编译器,使用Visual c++ _____

这是IDE版本到编译器版本的映射。他们通常在每个主要IDE版本发布一个主要编译器版本。

<表类> IDE版本编译器版本 tbody> <<tr>Visual Studio 2005Visual c++ 8.0Visual Studio 2008Visual c++ 9.0Visual Studio 2010 c++ 10.0Visual Studio 2012Visual c++ 11.0Visual Studio 2013Visual c++ 12.0Visual Studio 2015 c++ 14.0Visual Studio 2017 c++ 14.1Visual Studio 2019Visual c++ 14.2Visual Studio 2022Visual c++ 14.3tbody>

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

#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;
}

常用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)

宏解释:

_MSVC_LANG:定义为整数字面值,指定编译器所针对的c++语言标准

_MSC_VER:以整数形式包含主版本号和次版本号。"1500"是15.00版本)

_MSC_FULL_VER:以整数形式包含主版本号、次版本号和构建号。"150020706"是15.00.20706版本)

_MSC_BUILD:包含主版本号、次版本号和构建号之后的版本号。"1"为版本1,如15.00.20706.01)

Visual Studio中的C/c++编译器一直是Microsoft c++编译器,由Microsoft构建(不基于其他任何东西)

现在,编译器是这样命名自己的:

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

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

基本上,Visual Studio 2015支持编译器Visual c++ 14.0。但要了解更多细节,您可以在这里跟踪c++ 14.0的哪些特性已经实现。

另外,我喜欢Dorin的回答,他指出了一种用代码检查编译器版本的方法。

相关文章: