CoreHard Autumn 2017. Артем Лапицкий. Ускоряем сборку C++ проектов. Практика использования ...

Краткое содержание доклада Артема Лапицкого — “Ускоряем сборку C проектов. Практика использования техники Unity Build“ с конференции C CoreHard Autumn 2017. 1:50 - почему С проекты собираются долго? Рассматривается чем занимается компилятор при сборке - на примере hello world. После препроцессинга получается: - в GCC - файл в 1.2 Мб (31 тысяча строк исходного кода); - Visual C дает 27 тысяч строк кода. Проблема заключается в том, что модульность в С реализована за счет использования заголовочных файлов. Модули в С . Обсуждаются с 2015 года, обещают их включение в С 20. 4:20 - Согласно стандарту, компиляция состоит из 9 шагов, при этом следующий зависит от результата предыдущего (невозможно распараллелить). Необходимо не менее трех проходов по исходному файлу для окончательной сборки. Директива #include выполняет текстовую подстановку, смысл подставленного текста зависит от всего, что было в файле до этого - поэтому мы не можем хранить уже обработанные заг
Back to Top