@zeuss56

Почему C/C++ проекты очень долго компилируются?

Я слышал что есть способы кэшировать и не перекомпилировать весь проект целиком. Но вопрос. Почему компилятор долго работает? Ведь вся суть компилятора сводится к конкатенации всех файлов и парсингу AST-дерева, затем подмене конструкций на ассемблерные инструкции. Если отключены оптимизации, так невероятно долго работает подмена одного на другое?
  • Вопрос задан
  • 266 просмотров
Пригласить эксперта
Ответы на вопрос 2
wataru
@wataru Куратор тега C++
Разработчик на С++, экс-олимпиадник.
Компилятор долго оптимизирует код. Смотрит, что где используется, что можно выкинуть, где можно переставить местами что-то неважное, где цикл развернуть, где еще чего. Очень много оптимизаций. Обработка каждого файла - долгое дело.

Архаичная система заголовочных файлов же приводит к тому, что при изменении небольшой части проекта, фактически меняется куча файлов, которые все надо заново парсить и оптимизировать.
Ответ написан
Можно использовать precompiled headers. Тогда компиляция будет быстрее.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы