找c++资料从网上找确实更快速,但要想深入地理解vc++建议看msdn文档。

vs不同版本支持的c++版本

C++17:

vs2017基本支持,vs2015部分支持。

C++14:

vs2017就可以完全支持,vs2015基本支持,vs2013部分支持。

C++11:

vs2015及以上可以完全支持。vs2013基本支持,vs2012部分支持,vs2010及以下版本不支持。

数据来源:《​​VS版本、GCC版本与C++版本的对应关系_Captain--Jack的博客c++17 gcc版本​​》


在vs中设定或修改c++的版本

修改后.vcxproj文件中的PlatformToolset会发生改变,比如我从

方法:选中Project - 右键选择【属性】-- 在打开的窗口中,找到【c/c++ 】- 【所有选项】 - 即可看到【c++语言标准】,从下拉列表中选择一项


注:此图截自vs2017


vs不同版本支持的c++版本和PlatformToolset,及在vs中切换c++版本_不同版本


vs不同版本对应的PlatformToolset(平台工具集)

  • Visual Studio 2012:v110
  • Visual Studio 2013:v120
  • Visual Studio 2015:v140
  • Visual Studio 2017:v141
  • Visual Studio 2019:v142
  • Visual Studio 2022:v143
  • 在 Visual Studio 2019 或 Visual Studio 2017 中编译的项目与 2017 和 2015 项目 ABI 后向兼容。 自 Visual Studio 2015 以来,次版本对于每个版本都按 1 更新

来源:​​https://docs.microsoft.com/zh-cn/cpp/build/how-to-modify-the-target-framework-and-platform-toolset?view=msvc-170​

vs不同版本支持的c++版本和PlatformToolset,及在vs中切换c++版本_Visual Studio_02

Target Platform Version和Platform ToolSet

本质上来说,Platform ToolSet(平台工具集)是用来​构建程序的​,而 Target Platform Version(这里等同于 Windows SDK)是用来​面向你要运行的 Windows 版本​的

参考资料:《​​关于VS项目属性: Target Platform Version 和 Platform ToolSet - BensonLaur (cnblogs.com)​​》

vc版本与vs版本对应关系

vc版本与vs版本对应关系如下所示:

Visual Studio 6 : vc6

Visual Studio 2003 : vc7

Visual Studio 2005 : vc8

Visual Studio 2008 : vc9

Visual Studio 2010 : vc10

Visual Studio 2012 : vc11

Visual Studio 2013 : vc12

Visual Studio 2015 : vc14

Visual Studio 2017 : vc15


其它资料

​C++ 编译器支持情况表_C++中文网 (c-cpp.com)​

​Microsoft Visual C++ - 维基百科,自由的百科全书 (wikipedia.org)​

其它:​​Microsoft C/C++ 语言符合性 | Microsoft Docs​