有人能告诉我 Visual Studio 2015 中用于C++项目的内置编译器是什么吗?我已经尝试使用它和旧版本编译器,但得到了其他编译结果。它是否为 GNU C++ 版本 4.8.2 或更新版本?
有人能告诉我 Visual Studio 2015 中用于C++项目的内置编译器是什么吗?我已经尝试使用它和旧版本编译器,但得到了其他编译结果。它是否为 GNU C++ 版本 4.8.2 或更新版本?
他们有自己的编译器,称为Visual C++ ____。
这是IDE版本与编译器版本的映射。他们通常会随着每个主要的IDE版本发布一个主要的编译器版本。
IDE 版本 | 编译器版本 |
---|---|
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 |
Visual Studio 2022 | Visual C++ 14.3 |
因此,明确回答您的问题,Visual Studio 2015使用编译器Visual C++ 14.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)
宏定义解释:
_MSVC_LANG:被定义为指定编译器所针对的C++语言标准的整数字面量。
_MSC_VER :包含主版本号和次版本号,表示为一个整数(例如,“1500”表示版本15.00)
_MSC_FULL_VER:包含主版本号、次版本号和构建号,表示为一个整数(例如,“150020706”表示版本15.00.20706)
_MSC_BUILD:包含主版本号、次版本号和构建号后的修订号(例如,“1”是修订号1,如15.00.20706.01)