在 Visual Studio 2017 及更高版本中,Windows 桌面向导取代了 Win32 应用程序向导。 使用此向导,可以创建四种类型的 C++ 项目中的任意一种(在下表中的标题中列出)。 在每种情况下,你都可以指定适合于打开项目类型的其他选项。

下表指示了每个应用程序类型可用的选项。

控制台应用程序 可执行 (Windows) 应用程序 动态链接库 控制台应用程序 创建控制台应用程序。 Visual C++ 运行时库 还通过标准 I/O 函数(例如 printf_s() scanf_s() )提供来自控制台窗口的输出和输入。 控制台应用程序没有图形用户界面。 它编译为一个 .exe 文件,可以作为独立应用程序从命令行运行。

可以向控制台应用程序添加 MFC 和 ATL 支持。 Windows 应用程序 创建 Win32 程序。 Win32 程序是一个用 C 或 C++ 编写的可执行应用程序 (EXE),它使用对 Win32 API 的调用来创建图形用户界面。

不能向 Windows 应用程序添加 MFC 和 ATL 支持。 动态链接库 创建 Win32 动态链接库 (DLL)。 Win32 DLL 是一个用 C 或 C++ 编写的二进制文件,它使用对 Win32 API(而不是 MFC 类)的调用,并充当可由多个应用程序同时使用的函数的共享库。

不能向使用此向导创建的 DLL 应用程序添加 MFC 或 ATL 支持,但可以通过选择“新建”>“项目”>“MFC DLL”来创建 MFC DLL。 创建静态库。 静态库是包含对象及其函数和数据的文件,在生成可执行文件时链接到程序。 本主题介绍了如何为静态库创建初学者文件和 项目属性 。 静态库文件具有以下优势:

- 如果正在处理的应用程序调用 Win32 API 而不是 MFC 类,则 Win32 静态库非常有用。
- 无论 Windows 应用程序的其余部分是用 C 还是 C++ 编写的,链接过程都是相同的。
- 可以将静态库链接到基于 MFC 的程序或非 MFC 程序。

根据应用程序类型为其定义支持和选项。

指定项目文件是空白的。 如果你有一组源代码文件(如 .cpp 文件、头文件、图标、工具栏、对话框等),并且想要在 Visual C++ 开发环境中创建项目,必须先创建一个空白项目,然后将文件添加到项目中。

此选项不适用于静态库项目。 指定 DLL 项目导出符号。 指定静态库项目使用预编译的标头。 安全开发生命周期 (SDL) 检查 有关 SDL 的详细信息,请参阅 Microsoft 安全开发生命周期 (SDL) 流程指南

为以下项添加常用标头:

添加对 Visual C++ 中提供的一个库的支持。

生成到对活动模板库 (ATL) 中类的项目支持中。 仅适用于 Win32 控制台应用程序。

请注意:此选项并不表示支持使用 ATL 代码向导添加 ATL 对象。 只能在 ATL 项目或支持 ATL 的 MFC 项目中添加 ATL 对象。 生成到对 Microsoft 基础类 (MFC) 库的项目支持中。 仅适用于 Win32 控制台应用程序和静态库。

创建 Windows 桌面应用程序后,即可使用 泛型 代码向导添加泛型 C++ 类。 可以添加其他项,例如 HTML 文件、头文件、资源或文本文件。

不能添加 ATL 类,只能向支持 MFC 的 Windows 桌面应用程序类型添加 MFC 类(请参阅上表)。

可在 解决方案资源管理器 中查看你通过向导为项目创建的文件。 有关向导为项目创建的文件的详细信息,请参阅项目生成的文件 ReadMe.txt 。 有关文件类型的详细信息,请参阅 为 Visual Studio C++ 项目创建的文件类型

Visual Studio 中的 C++ 项目类型