Visual Studio 版本中的 C++ 工具和功能

Visual Studio 中提供以下 C++ 功能。 除非另有说明,否则所有功能均在所有版本中提供:Visual Studio Community、Visual Studio Professional 和 Visual Studio Enterprise。 某些功能需要特定工作负荷或可选组件,可使用 Visual Studio 安装程序进行安装。

下表显示 Visual Studio 2017 中可用的 Visual C++ 功能。 单元格中的 X 指示功能可用;空单元格指示功能不可用。 括号中的说明指示功能可用,但是受限制。

平台

  • Windows 桌面
  • 通用 Windows 平台(平板电脑、PC、Xbox、IoT 和 HoloLens)
  • Linux
  • Android
  • iOS
平台 Visual Studio Express for Windows 10 Visual Studio Express for Windows Desktop Visual Studio Community/Professional Visual Studio Enterprise
Windows 桌面 X X X
通用 Windows 平台(手机、平板电脑、PC、Xbox、IoT 和 HoloLens) X X X
Linux X X
Microsoft Store 8.1 X X
Windows Phone 8.0 X X
Android X X
iOS X X

编译器

  • 适用于 x86、x64、ARM 和 ARM64 的 MSVC 32 位编译器
  • 适用于 x86、x64、ARM 和 ARM64 的 MSVC 64 位编译器
  • 适用于 ARM 的 GCC 跨平台编译器
  • Clang/LLVM
    • 在 Windows 上,Clang/LLVM 12.0,面向 x86 或 x64(仅限 CMake 支持)。
    • 在 Linux 上,发行版支持的任何 Clang/LLVM 安装。
编译器 Visual Studio Express for Windows Visual Studio Express for Windows Desktop Visual Studio Professional/Community Visual Studio Enterprise
MSVC 32 位 X86 编译器 X X X X
x86_arm 跨平台编译器 X X X
MSVC 64 位 x64 编译器 X X
x86_x64 跨平台编译器 X X X X

C++ 工作负荷

Visual Studio 包含以下用于 C++ 开发的工作负荷。 可安装其中任意或所有工作负荷,以及其他工作负荷,例如 .NET 桌面开发、Python 开发、Azure 开发、Visual Studio 扩展开发等等。

使用 C++ 的桌面开发

包含:

  • C++ 核心桌面功能

可选组件:

  • MSVC v143 - VS 2022 C++ x64/x86 生成工具(最新版本)
  • Windows 10 SDK(适用于此 Visual Studio 版本的最新版本)
  • 实时调试器
  • C++ 分析工具
  • 用于 Windows 的 C++ CMake 工具
  • 适用于 v143 生成工具的 C++ ATL(x86 和 x64)
  • Boost.Test 测试适配器
  • Google Test 测试适配器
  • Live Share
  • IntelliCode
  • C++ AddressSanitizer
  • IntelliTrace(仅 Enterprise)
  • MSVC v143 - VS 2022 C++ ARM64 生成工具(最新版本)
  • 适用于最新 v143 生成工具的 C++ MFC(x86 和 x64)
  • 适用于 v143 生成工具的 C++/CLI 支持(最新版本)
  • 适用于 v143 生成工具的 C++ 模块(x64/x86 - 实验性)
  • 适用于 Windows 的 C++ Clang 工具 (12.0.0 - x64/x86)
  • JavaScript 诊断
  • IncrediBuild - 生成加速
  • Windows 11 SDK
  • Windows 10 SDK(其他版本)
  • MSVC v142 - VS 2019 C++ x64/x86 生成工具 (v14.29)
  • MSVC v141 - VS 2017 C++ x64/x86 生成工具 (v14.16)
  • MSVC v140 - VS 2015 C++ 生成工具 (v14.00)
  • MSVC v142 - VS 2019 C++ x64/x86 生成工具(最新版本)
  • Windows 10 SDK(适用于此 Visual Studio 版本的最新版本)
  • 实时调试器
  • C++ 分析工具
  • 用于 Windows 的 C++ CMake 工具
  • C++ ATL for v142 生成工具(x86 和 x64)
  • Boost.Test 测试适配器
  • Google Test 测试适配器
  • Live Share
  • IntelliCode
  • C++ AddressSanitizer
  • IntelliTrace(仅 Enterprise)
  • MSVC v142 - VS 2019 C++ ARM64 生成工具(最新版本)
  • 适用于最新 v142 生成工具的 C++ MFC(x86 和 x64)
  • 适用于 v142 生成工具的 C++/CLI 支持(最新版本)
  • C++ Modules for v142 生成工具(x64/x86 - 试验)
  • 适用于 Windows 的 C++ Clang 工具
  • JavaScript 诊断
  • IncrediBuild - 生成加速
  • Windows 11 SDK
  • Windows 10 SDK(其他版本)
  • MSVC v141 - VS 2017 C++ x64/x86 生成工具 (v14.16)
  • MSVC v140 - VS 2015 C++ 生成工具 (v14.00)

使用 C++ 的 Linux 开发

包含:

  • C++ 核心功能
  • 适用于 Linux 开发的 C++

可选组件:

  • 适用于 Linux 的 C++ CMake 工具
  • IntelliCode
  • 嵌入式和 IoT 开发工具

通用 Windows 平台开发

包含:

  • Blend for Visual Studio
  • .NET 本机和 .NET 标准
  • NuGet 程序包管理器
  • 通用 Windows 平台工具
  • Windows 10 SDK(适用于此 Visual Studio 版本的最新版本)

可选组件:

  • IntelliCode
  • IntelliTrace(仅 Enterprise)
  • USB 设备连接性
  • C++ (v143) 通用 Windows 平台工具
  • C++ (v142) 通用 Windows 平台工具
  • C++ (v141) 通用 Windows 平台工具
  • 适用于 DirectX 的图形调试器和 GPU 探查器
  • Windows 11 SDK
  • Windows 10 SDK(其他版本)
  • 体系结构和分析工具
  • IntelliCode
  • IntelliTrace(仅 Enterprise)
  • USB 设备连接性
  • C++ (v142) 通用 Windows 平台工具
  • C++ (v141) 通用 Windows 平台工具
  • 适用于 DirectX 的图形调试器和 GPU 探查器
  • Windows 11 SDK
  • Windows 10 SDK(其他版本)
  • 体系结构和分析工具

C++ 游戏开发

包含:

  • C++ 核心功能
  • Windows 通用 C 运行时
  • C++ 2019 Redistributable 更新
  • MSVC v143 - VS 2022 C++ x64/x86 生成工具(最新版本)

可选组件:

  • C++ 分析工具
  • C++ AddressSanitizer
  • Windows 10 SDK(适用于此 Visual Studio 版本的最新版本)
  • IntelliCode
  • IntelliTrace(仅 Enterprise)
  • Windows 11 SDK
  • Windows 10 SDK(其他版本)
  • IncrediBuild - 生成加速
  • Cocos
  • Unreal 引擎安装程序
  • 适用于 Unreal 引擎的 Android IDE 支持
  • C++ 核心功能
  • Windows 通用 C 运行时
  • C++ 2019 Redistributable 更新
  • MSVC v142 - VS 2019 C++ x64/x86 生成工具(最新版本)

可选组件:

  • C++ 分析工具
  • Windows 10 SDK(适用于此 Visual Studio 版本的最新版本)
  • IntelliCode
  • IntelliTrace(仅 Enterprise)
  • Windows 11 SDK
  • Windows 10 SDK(其他版本)
  • IncrediBuild - 生成加速
  • Cocos
  • Unreal 引擎安装程序
  • 适用于 Unreal 引擎的 Android IDE 支持

使用 C++ 的移动开发

包含:

  • C++ 核心功能
  • Android SDK 安装(API 级别 25)(使用 C++ 的移动开发的本地安装)

可选组件:

  • Android NDK (R21E)
  • Apache Ant (1.9.3)
  • C++ Android 开发工具
  • IntelliCode
  • Intel 硬件加速执行管理器 (HAXM)(本地安装)
  • C++ iOS 开发工具
  • IncrediBuild - 生成加速
  • Android NDK (R16B)
  • Apache Ant (1.9.3)
  • C++ Android 开发工具
  • IntelliCode
  • Google Android Emulator(API 级别 25)(本地安装)
  • Intel 硬件加速执行管理器 (HAXM)(本地安装)
  • Android NDK (R16B)(32 位)
  • C++ iOS 开发工具
  • IncrediBuild - 生成加速

各个组件

可独立于任何工作负荷安装这些组件。

  • JavaScript 诊断
  • Live Share
  • 用于 v142 生成工具的 C++ 通用 Windows 平台运行时
  • ClickOnce 发布
  • Microsoft Visual Studio 安装程序项目
  • Windows SDK

库和标头

  • Windows 标头和库
  • Windows 通用 C 运行时 (CRT)
  • C++ 标准库
  • ATL
  • MFC
  • .NET Framework Class Library — .NET Framework 类库
  • 针对 .NET 的 C++ 支持库
  • OpenMP 2.0
  • 通过 vcpkg 目录提供超过 900 个开源库
库或标头 Visual Studio Express for Windows Visual Studio Express for Windows Desktop Visual Studio Professional/Community Visual Studio Enterprise
Windows 标头和库以及 CRT 库 (X) X X X
C++ 标准库 X X X X
ATL X X
MFC X X
.NET Framework Class Library — .NET Framework 类库 X X X
针对 .NET 的 C++ 支持库 X X X
OpenMP 2.0 X X X X

生成和项目系统

  • CMake
  • 通过 Open Folder 支持任何生成系统
  • 命令行生成 (msbuild.exe)
  • 本机多目标
  • 托管多目标
  • 并行生成
  • 生成自定义项
  • 属性页扩展性
生成或项目功能 Visual Studio Express for Windows Visual Studio Express for Windows Desktop Visual Studio Professional/Community Visual Studio Enterprise
命令行生成 (msbuild.exe) X X X X
本机多目标 X X X
托管多目标 X X X
并行生成 X X X X
生成自定义项 X X X X
属性页扩展性 X X X X

项目模板

可使用以下项目模板,具体取决于安装的工作负荷。

Windows 桌面:

  • 空项目
  • 控制台应用
  • Windows 桌面向导
  • Windows 桌面应用程序
  • “共享项”项目
  • MFC 应用
  • 动态链接库
  • CLR 空项目
  • CLR 控制台应用
  • 静态库
  • CMake 项目
  • ATL 项目
  • MFC 动态链接库
  • CLR 类库
  • 生成文件项目 (Windows)
  • MFC ActiveXControl
  • 本机单元测试项目
  • Google Test

通用 Windows 平台 (C++/CX):

  • 空白应用
  • DirectX 11 和 XAML 应用
  • DirectX 11 应用
  • DirectX 12 应用
  • 单元测试应用
  • DLL
  • Windows 运行时组件
  • 静态库
  • Windows 应用程序打包项目

Linux:

  • 控制台应用 (Linux)
  • 空项目 (Linux)
  • Raspberry Pi Blink
  • 生成文件项目 (Linux)
模板 Visual Studio Express for Windows Visual Studio Express for Windows Desktop Visual Studio Professional/Community Visual Studio Enterprise
适用于 UWP、Windows 8.1、Windows Phone 8.0 的 XAML 模板 X X X
Direct3D 应用程序 X X X
DLL (通用 Windows) X X X
静态库(通用 Windows) X X X
Windows 运行时组件 X X X
单元测试应用(通用 Windows) X X X
ATL 项目 X X
类库 (CLR) X X X
CLR 控制台应用程序 X X X
CLR 空项目 X X X
自定义向导 X X
空项目 X X X
生成文件项目 X X X
MFC ActiveX 控件 X X
MFC 应用程序 X X
MFC DLL X X
测试项目 X X X X
Win32 控制台应用程序 X X X
Win32 项目 X X X

工具

  • 增量链接器
  • Microsoft 生成文件实用工具 (Nmake.exe)
  • Lib 生成器 (Lib.exe)
  • Windows 资源编译器 (Rc.exe)
  • Windows Resource to Object Converter (CvtRes.exe)
  • 浏览信息维护实用工具 (BscMake.exe)
  • C++ Name Undecorator (Undname.exe)
  • COFF/PE 转储程序 (Dumpbin.exe)
  • COFF/PE 编辑器 (Editbin.exe)
  • MASM (Ml.exe)
  • Spy++
  • ErrLook
  • AtlTrace
  • 推理规则
  • 按配置优化
工具 Visual Studio Express for Windows Visual Studio Express for Windows Desktop Visual Studio Professional/Community Visual Studio Enterprise
增量链接器 X X X X
程序维护实用工具 (Nmake.exe) X X X
Lib 生成器 (Lib.exe) X X X X
Windows 资源编译器 (Rc.exe) X X X X
Windows Resource to Object Converter (CvtRes.exe) X X X
浏览信息维护实用工具 (BscMake.exe) X X X X
C++ Name Undecorator (Undname.exe) X X X X
COFF/PE 转储程序 (Dumpbin.exe) X X X X
COFF/PE 编辑器 (Editbin.exe) X X X X
MASM (Ml.exe) X X
Spy++ X X
ErrLook X X
AtlTrace X X
Devenv.com X X
推理规则 X X
将 VCBuild .vcproj 项目升级到 MSBuild (VCUpgrade.exe) X X X X
按配置优化 X X

调试功能

  • 本机调试
  • natvis(本机类型可视化)
  • 图形调试
  • 托管调试
  • GPU 使用情况
  • 内存使用率
  • 远程调试
  • SQL 调试
  • 静态代码分析
调试功能 Visual Studio Express for Windows Visual Studio Express for Windows Desktop Visual Studio Professional/Community Visual Studio Enterprise
本机调试 X X X X
natvis(本机类型可视化) X X X X
图形调试 X X X
托管调试 X X X
GPU 使用情况 X X X
内存使用率 X X X
远程调试 X X X X
SQL 调试 X X
静态代码分析 有限 受限制 X X

设计器和编辑器

  • XAML 设计器
  • CSS 样式设计器/编辑器
  • HTML 样式设计器/编辑器
  • XML 编辑器
  • 源代码编辑器
  • 提高生产力的功能:重构、EDG IntelliSense 引擎、C++ 代码格式设置
  • Windows Forms Designer — Windows 窗体设计器
  • 数据设计器
  • 本机资源编辑器(.rc 文件)
  • 资源编辑器
  • 模型编辑器
  • 着色器设计器
  • 实时依赖项验证(仅 Enterprise)
  • 体系结构分层图(仅 Enterprise)
  • 体系结构验证(仅 Enterprise)
  • 代码克隆(仅 Enterprise)
设计器或编辑器 Visual Studio Express for Windows Visual Studio Express for Windows Desktop Visual Studio Professional/Community Visual Studio Enterprise
XAML 设计器 X X X
CSS 样式设计器/编辑器 X X X X
HTML 样式设计器/编辑器 X X X X
XML 编辑器 X X X X
源代码编辑器 X X X X
工作效率功能:重构、IntelliSense、C++ 代码格式设置 X X X X
Windows Forms Designer — Windows 窗体设计器 X X X
数据设计器 X X
本机资源编辑器(.rc 文件) X X
资源编辑器 X X X X
模型编辑器 X X X
着色器设计器 X X X

数据功能

  • 数据设计器
  • 数据对象
  • Web 服务
  • 服务器资源管理器
数据功能 Visual Studio Express for Windows Visual Studio Express for Windows Desktop Visual Studio Professional/Community Visual Studio Enterprise
数据设计器 X X
数据对象 X X
Web 服务 X X
服务器资源管理器 X X

自动化和扩展性

  • 扩展性对象模型
  • 代码模型
  • 项目模型
  • 资源编辑器模型
  • 向导模型
  • 设计器对象模型
自动化和扩展性 Visual Studio Express for Windows Visual Studio Express for Windows Desktop Visual Studio Professional/Community Visual Studio Enterprise
扩展性对象模型 X X
代码模型 X X
项目模型 X X
资源编辑器模型 X X
向导模型 X X
设计器对象模型 X X

Application Lifecycle Management 工具

  • 单元测试(Microsoft 本机 C++、Boost.Test、Google Test、CTest)
  • 代码图和依赖项关系图(Professional 和 Enterprise)
  • 代码覆盖率(仅 Enterprise)
  • 手动测试(仅 Enterprise)
  • 探索测试(仅 Enterprise)
  • 测试用例管理(仅 Enterprise)
  • 代码图调试器集成(仅 Enterprise)
  • Live Unit Testing(仅 Enterprise)
  • IntelliTrace(仅 Enterprise)
  • IntelliTest(仅 Enterprise)
  • Microsoft Fakes(单元测试隔离)(仅 Enterprise)
  • 代码覆盖率(仅 Enterprise)
工具 Visual Studio Express for Windows Visual Studio Express for Windows Desktop Visual Studio Professional/Community Visual Studio Enterprise
单元测试(本机框架) X X X X
单元测试(托管框架) X X X
代码覆盖率 X
手动测试 X
探索测试 X
测试用例管理 X
代码图和依赖项关系图 只读 X
代码图调试 X

请参阅

安装 Visual Studio
Visual Studio 中的新增功能
Visual Studio 中的 C++ 项目类型