What compiler is in Visual Studio 2015

后端 未结 4 1811
广开言路
广开言路 2020-12-13 02:37

Can anyone tell me what compiler is built-in to Visual Studio 2015 for C++ projects? I tried it and tried older version compilers and it\'s giving me other compiling results

相关标签:
4条回答
  • 2020-12-13 03:12

    The C/C++ compiler in Visual Studio is and always has been Microsoft C++ Compiler, built by Microsoft (not based on anything else.)

    Right now, this is how the compiler names itself:

    Microsoft (R) C/C++ Optimizing Compiler Version 19.00.23026

    In VS2015, the compiler can target x86 and x64, as well as ARM. It supports almost all of C++11 and C99, and a large part of C++14, plus a little bit of the C++17 (or whenever) draft.

    0 讨论(0)
  • 2020-12-13 03:19

    Basically, Visual Studio 2015 supports compiler Visual C++ 14.0. But for more detail, you can track what features of C++ 14.0 has already been implemented here.

    Also, I like Dorin's answer, he pointed out a way to check compiler version with code.

    0 讨论(0)
  • 2020-12-13 03:29

    You can get some useful information running this:

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

    Common MSVC versions:

    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)

    Macros interpretation:

    _MSVC_LANG : Defined as an integer literal that specifies the C++ language standard targeted by the compiler

    _MSC_VER : contains the major and minor version numbers as an integer (e.g. "1500" is version 15.00)

    _MSC_FULL_VER : contains the major version, minor version, and build numbers as an integer (e.g. "150020706" is version 15.00.20706)

    _MSC_BUILD : contains the revision number after the major version, minor version, and build numbers (e.g. "1" is revision 1, such as for 15.00.20706.01)

    0 讨论(0)
  • 2020-12-13 03:30

    They have their own compiler that goes by Visual C++ _____

    Here is a mapping of the IDE version to the compiler version. They generally release a major compiler version with each major IDE version.

    Visual Studio 2005 - Visual C++ 8.0
    Visual Studio 2008 - Visual C++ 9.0
    Visual Studio 2010 - Visual C++ 10.0
    Visual Studio 2012 - Visual C++ 11.0
    Visual Studio 2013 - Visual C++ 12.0
    Visual Studio 2015 - Visual C++ 14.0
    Visual Studio 2017 - Visual C++ 14.1
    Visual Studio 2019 - Visual C++ 14.2

    So to explicitly answer your question, Visual Studio 2015 uses the compiler Visual C++ 14.0

    0 讨论(0)
提交回复
热议问题