我正在尝试使用 clang 中的模块,并希望将标准库作为模块而不是包含在内。
目前我这样做
#include <iostream>
#include <string>
It seems that you in msvc应该能够导入标准库,例如import std.core;
然而,当使用 clang 时,这似乎没有实现,或者以另一种方式实现。我的问题是:是否可以像 microsoft 建议那样导入 STL-include,或者是否可以将标准 lib 包含映射到模块 somhow。
注意:我不能使用的原因
#include <...>
或 #import <...>
是因为其他错误可能会产生自己的问题。所以我认为得到 import std.core
如果可能的话,或类似的方法是现在要走的路。ModernesCpp还提到了std.core。
最佳答案
C++20 标准不包括 C++ 标准库的模块定义。 Visual Studio 确实如此(不幸的是),而且很多糟糕的网站都会表现得像这样是标准的。但事实并非如此;这只是微软的事情。
如果您想通过跨平台的模块包含 C++ 标准库,您将不得不使用 import <header-name>
语法或编写您自己的标准库模块来导入 header 并导出特定的 C++ 声明。
关于c++ - 使用 clang 将 std lib 作为模块导入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66411157/