微软在接近一年前在vs2015 的update1中增加了c++对Module的支持,今天找时间试了下,查了一些资料,貌似现在想在c++里使用Module还是只能依靠命令行编译,下面就说一下大概的步骤。
先创建一个Module 文件名sum.ixx,添加如下代码:
module sum;
export
{
int sum(int x,int y);
}
int sum(int x,int y)
{
return x+y;
}
然后打开cmd,转入当前目录
先执行一句:
call "%vs140comntools%../../VC/vcvarsall.bat"
然后编译Module:
cl /c /experimental:module sum.ixx
生成lib:
lib sum.obj -OUT:sum.lib
如下图:
然后再创建一个cpp文件,名称随意,我这的是 test.cpp
输入如下代码
#include<iostream>
import sum;
int main()
{
std::cout<<sum(1,2)<<std::endl;
}
编译代码:
cl /EHsc /experimental:module /module:reference sum.ifc sum.lib test.cpp
运行:
test.exe