使用clang将stdlib作为模块导入

我正在尝试使用 clang 中的模块,并希望将标准库包含为模块而不是包含。

目前我这样做

#include <iostream>
#include <string>

看来您在 msvc 中应该能够导入标准库,例如

import std.core;

然而,当使用 clang 时,这似乎没有实现,或者以另一种方式实现。

我的问题是:是否可以像微软建议的那样导入 stl-includes,或者是否可以将标准库包含映射到模块 somhow。

注意:我无法使用的原因#include <...>或者#import <...>是因为其他错误可能会导致其自身问题。所以我认为import std.core如果可能的话,获取或类似是现在要走的路。

ModernesCpp还提到了 std.core。

回答

C++20 标准不包括 C++ 标准库的模块定义。Visual Studio可以(不幸的是),而且许多不良站点会表现得像标准一样。但事实并非如此;这只是微软的事情。

如果要通过跨平台的模块包含 C++ 标准库,则必须使用import <header-name>语法或编写自己的标准库模块来导入标头并导出特定的 C++ 声明。


以上是使用clang将stdlib作为模块导入的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>