Re: покритикуйте метод компиляции
От: Zhendos  
Дата: 19.11.22 16:42
Оценка: 2 (1) +1
Здравствуйте, maks1180, Вы писали:

M>Деларации и имплементация сразу. Можно конечно поробовать в таком стиле традиционным способом скомпилировать, но тогда будет много имплементаций одного класса (в каждом .o файле, где он используется). И могут быть проблемы: по разному реализовано может быть (в зависимости от макросов и опций компилятора), неопределённость при линковке — неизвестно какую реализацию возмёт линковщик. Поэтому я считаю, что опастно так делать при традиционном способе компиляции.


M>Может я что-то упустил ? Покритикуйте плиз аргументированно.


При сборке sqlite такой термин называется https://www.sqlite.org/amalgamation.html,
в cmake это называется https://cmake.org/cmake/help/latest/prop_tgt/UNITY_BUILD.html .

Очевидно такой способ компиляции медленнее начиная с какого-то относительно небольшого проекта.
Тот же единый файл sqlite компилируется секунд 30 в режиме оптимизации, а компиляция одного из сотни файлов
sqlite и линковка займет максимум пару секунд. А проблему с повторным парсингом одних и тех же больших системных
заголовочных файлов нормально решает использование "precompiled headers", а скоро и модули можно будет использовать.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.