Visual Studio 2015 中的编译器是什么

新手上路,请多包涵

谁能告诉我 Visual Studio 2015 为 C++ 项目内置了哪些编译器?我尝试了它并尝试了旧版本的编译器,它给了我其他编译结果。是 GNU C++ 版本 4.8.2 还是更新版本?

原文由 MaxDevelop 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.5k
2 个回答

他们有自己的 Visual C++ 编译器 _____

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

IDE版本编译器版本视觉工作室 2005视觉 C++ 8.0视觉工作室 2008视觉 C++ 9.0视觉工作室 2010视觉 C++ 10.0视觉工作室 2012视觉 C++ 11.0视觉工作室 2013视觉 C++ 12.0视觉工作室 2015视觉 C++ 14.0视觉工作室 2017视觉 C++ 14.1视觉工作室 2019视觉 C++ 14.2视觉工作室 2022视觉 C++ 14.3

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

原文由 Cory Kramer 发布,翻译遵循 CC BY-SA 4.0 许可协议

您可以通过以下方式获得一些有用的信息:

 #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)

宏解释:

__MSVCLANG :定义为整数文字,指定编译器所针对的 C++ 语言标准

__MSCVER :包含主要和次要版本号作为整数(例如“1500”是版本15.00)

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

__MSCBUILD :包含主要版本、次要版本和内部版本号之后的修订号(例如,“1”是修订版 1,例如 15.00.20706.01)

原文由 Dorin 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题