Visual Studio 2026 使用 C++ 模块入门指南
为什么要用模块
C++ 模块(C++20)旨在替代传统头文件作为编译单位。相比传统方式,模块支持增量编译分析至二进制 ABI 层次。MSVC 的模块通过模块二进制接口(BMI)缓存编译产物,导出机制更加健壮。
先决条件
要在 VS2026 上顺利使用模块,请确认以下项目:
- Visual Studio 2026(或更新)已安装,并包含'Desktop development with C++'工作负载。VS2026 附带 MSVC Build Tools v14.50(IDE 18.0),对模块和语言兼容性有进一步改进。
- C++ 标准设置:项目或命令行使用
/std:c++20或/std:c++latest。VS2026 默认已启用相关选项。
最小可运行示例
创建一个小工程 vs2026-modules-demo/,包含两个文件:
math.ixx(模块接口单元)
export module math;
export int add(int a, int b) {
return a + b;
}
export struct Point {
int x, y;
};
main.cpp(使用模块)
import std;
import math;
int main() {
std::print("Add Result: {}", add(1, 2));
Point p{1, 2};
std::print("Point p ({}, {})\n", p.x, p.y);
return 0;
}
说明:MSVC 社区中
.ixx是常见的模块接口扩展名;你也可以使用.cppm等,但 IDE/工具链对扩展名的默认识别可能不同。


