在 Visual Studio 中安装 C11 和 C17 支持

支持 C11 和 C17 标准需要 Visual Studio 2019 16.8 或更高版本。 若要查看此版本对应的文档,请将本文的 Visual Studio“版本”选择器控件设置为“Visual Studio 2019”。 它位于此页面上目录表的顶部。

在 Visual Studio 2019 版本 16.8 及更高版本中,提供对 C11 和 C17 的支持。 该项支持要求具备更新后的通用 C 运行时 (UCRT) 和 Windows SDK 版本,才能正确地使用一致的预处理器 (/Zc:preprocessor)。

Windows SDK 版本与 Windows OS 版本相对应。 C11 和 C17 支持需要 Windows SDK 10.0.20348.0(版本 2104)或更高版本。 Windows SDK 是 Visual Studio 安装程序的“单个组件”选项卡中的一个可安装选项。 你可以按照以下步骤设置最新的 SDK,并在 Visual Studio 中或命令行上生成 C11 或 C17 代码。

先决条件

计算机上已安装且正在运行 Visual Studio 2019 版本 16.8(或更高版本)以及 Windows SDK 10.0.20348.0(版本 2104)或更高版本。 建议使用提供的最新版本以获得最佳支持。

  • 如果尚未安装 Visual Studio,请参阅在 Visual Studio 中安装 C++ 支持以获取安装说明。 在安装中,包括“使用 C++ 的桌面开发”工作负载。 然后,打开“单个组件”选项卡。选择 Windows 10 SDK (10.0.20348.0) 或更高版本,或者选择最新版 Windows 11 SDK。

  • 如果已安装 Visual Studio,但没有所需的 Windows SDK,请打开 Visual Studio 安装程序。 选择你的 Visual Studio 版本旁边的“修改”来安装所选组件。 打开“单个组件”选项卡。然后选择Windows 10 SDK (10.0.20348.0) 或更高版本,或者选择最新版 Windows 11 SDK。 选择“修改”来安装所选组件。

安装完成后,打开 Visual Studio。

在 Visual Studio 中配置 C11 或 C17 模式

在 Visual Studio 中,打开新的或现有的 C 项目,然后打开项目的“属性页”对话框。

将项目设置为使用刚安装的 Windows SDK。 在“配置属性”>“常规”页上,将“Windows SDK 版本”属性设置为 10.0(最新安装的版本),或设置为你安装的具体 SDK 版本。

你还会看到特定于 C 的选项:C 语言标准。 将此属性设置为“ISO C11 标准(/std:c11)”或“ISO C17 (2018)标准(/std:c17)”。

“配置属性”的“常规”页上的“属性页”对话框的屏幕截图,其中显示“C 语言标准”属性下拉菜单选项,如“ISO C 17”。

当语言为 C++ 时,使用“C++ 语言标准”属性。 当文件扩展名为 .cpp 时,这是默认设置。 当语言为 C 时,使用“C 语言标准”属性版本。当文件扩展名为 .c 时,这是默认设置。 若要使用 C11 或 C17 生成,请将源代码放在 .c 文件中,或将代码设置为“编译为 C”。可以在“配置属性”>“C/C++”>“高级”页上设置项目的此属性。 将“编译为”属性设置为“编译为 C 代码(/TC)”。

恭喜,你已完成在 Visual Studio 中生成 C11 和 C17 代码所需的所有设置!

请参阅

/std(指定语言标准版本)