11

为了询问或演示 C++20 中自写模块的错误/功能,能够使用Matt Godbolt 的编译器资源管理器会很棒。

例子:

test.cpp(模块测试):

export module test;

export template<typename T>
void do_something(const T&)
{
}

编译clang++ -std=c++20 -stdlib=libc++ -fmodules -c -Xclang -emit-module-interface -o test.pcm test.cpp

主.cpp:

import test;

int main() {
    do_something(7);
}

编译clang++ -std=c++20 -stdlib=libc++ -fmodules -fimplicit-modules -fimplicit-module-maps -fprebuilt-module-path=. main.cpp

问:有没有办法用编译器资源管理器做到这一点?

4

1 回答 1

4

目前你不能。一个典型的模块示例需要多个源文件。例如。在您的情况下,main.cpp 和 test.cpp。GodBolt 目前不支持此功能。我尝试使用 Godbolt 上的原始 github 内容进行构建。但它不起作用。我已经打开了这个请求。另请参阅此正在进行的请求,该请求似乎正在处理中。

于 2020-09-01T05:59:48.540 回答