【问题标题】:How to include multiple precompiled headers in with c++20 (with modules enabled) in gcc or clang如何在 gcc 或 clang 中使用 c++20(启用模块)包含多个预编译头文件
【发布时间】:2021-03-21 23:13:31
【问题描述】:

在c++20中,启用模块时,每个include都应该被封装,这样顺序就无关紧要了,宏也不会泄漏等等。

Apparently问题如果是否可以预编译多个头文件是的。

我现在的问题是:如何你这样做:那是:我如何首先预编译一组头文件,然后让编译器将它们(全部)识别为我的预编译头文件使用 c++20 模块的翻译单元,(使用 linux 命令行)。

我想有 g++ 的解决方案,但如果只有 clang 才有可能,那么答案就可以了。

请注意,this 问题可能已过时。

【问题讨论】:

  • g++ 尚不支持模块,clang 仅部分支持。你可以看这里en.cppreference.com/w/cpp/compiler_support
  • 谢谢!查找时,列表中叫什么?
  • 不,当然。我只是没有找到任何特定于多个预编译头文件的状态。
  • 模块不允许多个预编译头文件;它们是没有单发限制的替代技术。

标签: c++ g++ clang++ c++20 c++-modules


【解决方案1】:

如何在 gcc 中包含多个预编译的头文件...

没有办法。正如文档所说:

在特定编译中只能使用 一个 预编译头文件。


(启用模块)在 gcc 中

在撰写本文时,没有已发布的 GCC 版本支持模块。


目前还不清楚“包含预编译的标头”与模块之间的关系,但我猜您可能对 Clang 文档的“使用预编译模块”部分感兴趣。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-05-26
    • 2021-07-16
    • 2020-10-27
    • 2010-09-08
    • 1970-01-01
    • 2020-10-07
    • 2016-04-13
    相关资源
    最近更新 更多