如何预编译每个头文件?

时间:2018-12-01 17:28:10

标签: c++ module clang precompiled-headers precompiled-templates

我正在阅读clang modules文档。 我了解几件事,不知道我是对还是错。

  1. 如果我仅将Column4Column5作为-fmodules参数传递给每个已编译的源文件,我将获得模块的所有好处,例如标准包含的预编译标头,并进行了0修改,因为includes as imports
  2. 不需要使用预编译的头文件。如果我坚持使用模块。

我的问题是这个。 如何自动预编译每个头文件?是否应使用带有脚本的头文件生成modulemap,以便将其预编译?每个标头是一个巨型模块映射还是一个模块映射?

我不太在乎C ++标准委员会的模块计划或模块的逻辑方面。我需要的是通过预编译头实现编译加速,而无需创建-fbuiltin-module-map文件(带有每个可能的头)或代码中的任何重大修改。

编辑: clang implement cache中的模块,因此在我看来,它们在编译时间加速方面非常类似于预编译的标头。

我暂时不关心委员会,因为我的问题是关于clang模块(不是C ++标准模块),我知道这些模块是实验性的,并且需要更改。我知道我的风险。

我想要更快的编译速度,并且看到这里可以采取的路线,恕我直言,这似乎比其他方法要好。

0 个答案:

没有答案