模块是#includes的替代品.Clang有一个完整的C++实现.如果我现在想使用Clang使用模块,我该怎么办?
运用
import std.io;
Run Code Online (Sandbox Code Playgroud)
在C++源文件中还没有工作(编译),因为模块的规范(包括语法)不是最终的.
该锵文件指出,经过时-fmodules标志,#包括将被改写到相应的进口.但是,检查预处理器会另外建议(test.cpp只包含#include <stdio.h>一个空的main):
$ clang++-3.5 -fmodules -E test.cpp -o test
$ grep " printf " test
extern int printf (const char *__restrict __format, ...);
Run Code Online (Sandbox Code Playgroud)
此外,使用-fmodulesvs no flags 编译此测试文件会产生相同的目标文件.
我究竟做错了什么?