Я читал ленточные модули документация.Я понял несколько вещей, я не знаю, правда ли я или нет.
- Если я просто передам
-fmodules
и -fbuiltin-module-map
каждому скомпилированному исходному файлу в качестве clang
аргументов,Я получу все преимущества таких модулей, как предварительно скомпилированные заголовки для стандартных включений, с 0 модификациями, поскольку включает в качестве импорта . - Нет необходимости использовать предварительно скомпилированные заголовки.Если я придерживаюсь модулей.
У меня такой вопрос. Как я могу автоматически прекомпилировать каждый заголовочный файл? Должен ли я генерировать карту модуля со сценарием для заголовков, чтобы они были предварительно скомпилированы?Один гигантский modulemap или один modulemap для каждого заголовка?
Меня действительно не волнует план стандартных комитетов C ++ или логический аспект модулей.Все, что мне нужно, - это ускорение компиляции, достигаемое за счет прекомпиляции заголовков, без необходимости создания файла precompiled.hpp
(со всеми возможными заголовками) или каких-либо значительных изменений в коде.
РЕДАКТИРОВАТЬ: Модули в clang реализуют кеш , так что, на мой взгляд, они довольно похожи на предварительно скомпилированные заголовки в смысле ускорения времени компиляции.
Меня не волнует вопрос о комитете, потому что мой вопрос касается модулей Clang (не стандартных модулей C ++), которые, как я знаю, являются экспериментальными и могут быть изменены.Я знаю свои риски.
Я хочу иметь более быструю компиляцию, и я вижу возможный маршрут, который, по-моему, лучше других методов.