Проект:
C ++ Программирование на xcode .У меня более 3 000+ определений типов и более 2 000+ файлов .c / .h.Каждый тип myType
содержит описание строки.Я использовал скрипт, чтобы определить map<std::string, myType>
из 3000+ элементов в файле .cpp
, чтобы использовать его для поиска типа myType
для передачи в функцию, которая обрабатывает данные, на основе которых myType
передается ему.Поскольку определения myType
распределены по более чем 2000 файлам, я использовал скрипт для записи каждого extern myType TYPENAME;
в файл заголовка.
Обзор:
(2000+ .c
файлы с myType
определениями
myTypes.h
(содержит все операторы extern myType
для каждого myType
в вышеуказанных файлах)
myTypes.cpp
(содержитmap<std::string, myType>
из 3000+ элементов в вышеуказанных файлах
typeProcessor.cpp
(включает myTypes.h
. Использует карту, определенную в myTypes.cpp
, для сопоставления строки с myType
. Пропускает myType
к функции из файла ниже)
dataProcessor.cpp
(обрабатывает данные на основе переданной ей myType
)
Проблема:
Так как ядобавлено myTypes.h
с 3000+ внешних утверждений и myTypes.cpp
с картой из 3000+ элементов. Время компиляции моего проекта увеличилось с 20 секунд до 1-1,5 часа.
Мой вопрос:
Не касаясь 2000+ файлов или dataProcessor.cpp
, получающего myType
, что я могу сделать, чтобы сократить время компиляции?
Некоторые мыслиУ меня было:
использовать скрипт, чтобы поместить все определения myType
в один большой файл myTypes.cpp
и удалить операторы extern. или
используйте сценарий для #include
каждого из 2000+ файлов, содержащих myType
определений
Я не знаю много о компиляторах, основных факторах времени компиляции и о том, как писать код, чтобы минимизировать время компиляции.Любая помощь приветствуется.Спасибо.