/internalPartition

使用 /internalPartition 编译器选项将输入文件视为“内部分区单元”,它是不参与模块外部接口的模块分区实现单元

语法

/internalPartition filename

备注

下面的示例演示如何使用 /internalPartition 选项:

源文件 m-internals.cpp

// m-internals.cpp
module m:internals;

void internalFunc() {} // cannot have `export` since this is an internal partition

源文件 m.ixx

// m.ixx
export module m;
import :internals; // Cannot export this partition.

export
void wrapper() { internalFunc(); }

若要编译此接口,请执行以下操作:

cl /std:c++latest /internalPartition /c m-internals.cpp

此选项不能与 /interface 编译器选项一起使用。

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

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

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

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

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

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

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

另请参阅

C++ 中的模块概述
从命令行使用 MSVC 中的 C++ 模块
Visual Studio 2019 16.5 中 MSVC 的 C++ 模块符合性改进