2

在c ++ 20中,启用模块时,每个包含都应该被封装,以便顺序无关紧要,宏不会泄漏等。

显然是否可以预编译多个头文件的问题是肯定的。

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

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

请注意,这个问题可能已经过时了。

4

1 回答 1

2

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

不可能。正如文档所说:

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


(启用模块)在 gcc

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


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

于 2020-12-10T14:11:16.517 回答