Здравствуйте, _hum_, Вы писали:
__>Не совсем понимаю, как разрабатываются большие проекты на С++? У меня он пока средний — около 2 Mb в архиве, и уже сейчас время перекомпиляции — около 20 минут (на двухядерном 2ГГц и 4Г памяти) ... __>Разработчики языка вообще в эту сторону смотрят?
Компиляция больших с++ проектов это решенная инженерная задача. Просто, никто не делится решениями.
Для интерактивной сборки разработчики используют 1-2 конфигурации. В них
а) все разбито на бинарные модули (убирает линковку всего вместе), даже если финальная сборка это 1 исполняемый файл;
б) в каждом модуле есть forward declarations где разрешен только небольшой набор типов.
в) в каждом модуле есть pch
г) автоматически мелкие cpp файлы объединяются группами (unity build), в теме был пример как это делать руками;
д) компиляция запускается на кластере из множества машин (даже если это только машины коллег это все равно дает много);
е) используется кеш с результатами компиляции (заполняется чистым билдом ночью).
...
в домашних условиях обычно никто не идет дальше первых трех пунктов и просто дозакупают железо тк "(на двухядерном 2ГГц и 4Г памяти)" бороться за время компиляции несерьезно.
Настоящие неудобства большие/сложные проекты приносят, когда надо туда заливать большие изменения а не при компиляции =)