/interface

此开关指示编译器将命令行上的输入文件视为模块接口单元。

语法

/interface filename

备注

当模块接口的扩展不同于 .ixx 时,请使用此开关。

在以下示例中,模块接口具有 .cppm 扩展而不是 .ixx,因此 /interface 开关用于将其编译为模块接口:

cl /c /std:c++latest /interface /TP my-module.cppm

编译器从模块接口名称派生生成的 .ifc 文件的名称。 例如,给定在 my-module.cppm 中定义的模块名称 MyModule,生成的 .ifc 将是已命名的 MyModule.ifc

此开关必须与/TP(指定源文件类型)编译器标志一起使用。

/interface 在 Visual Studio 2019 版本 16.10 或更高版本中可用。
/interface 需要 /std:c++20 或更高版本。

在 Visual Studio 开发环境中设置此编译器选项

通常不应在 Visual Studio 开发环境中设置此选项,除非对模块接口文件使用不同的扩展。 默认情况下,生成系统将此选项应用于扩展名为 .ixx* 的文件。

  1. 若要在 IDE 中显式将 /interface 选项应用于文件,请在解决方案资源管理器中选择该文件。 右键单击以打开上下文菜单,然后选择“属性”以打开“属性页”对话框

  2. 将“配置”下拉列表设置为“所有配置”。 将“平台”下拉列表设置为“所有平台”

  3. 打开“配置属性”>“C/C++”>“高级”属性页。

  4. 使用下拉列表控件将“编译为”属性修改为“作为 C++ 模块代码编译(/interface)”。 选择“确定”或“应用”以保存更改。

另请参阅

C++ 中的模块概述
从命令行使用 MSVC 中的 C++ 模块