@zeuss56

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

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

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

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

Войти через центр авторизации
Похожие вопросы
IGA Technologies Москва
До 70 000 ₽
Монополия Санкт-Петербург
от 87 000 до 87 000 ₽
18 апр. 2024, в 13:01
3000 руб./за проект
18 апр. 2024, в 12:52
500000 руб./за проект