Еще одна полезная техника - это капля. Я думаю, что это похоже на то, что описал Мэтт Шоу.
Проще говоря, вы просто создаете один файл cpp, в который вы включаете другие файлы cpp. У вас может быть две разные конфигурации проекта, одна обычная и одна большая. Конечно, blobbing накладывает некоторые ограничения на ваш код, например, имена классов в безымянных пространствах имен могут конфликтовать.
Один метод, позволяющий избежать перекомпиляции всего кода в BLOB-объекте (как упоминал Дэвид Родригес) при изменении одного файла cpp, - это создание «рабочего» BLOB-объекта, созданного из файлов, измененных недавно, и других обычных BLOB-объектов.
Большую часть времени мы используем blobbing на работе, и это сокращает время сборки проекта, особенно время компоновки.