Я создал проект приложения Windows в визуальной студии. Библиотека OpenSSL (размер: 15 МБ) статически связана с проектом приложения.Почему исполняемый файл меньше, чем библиотека, статически связанная с проектом приложения?
Но, все еще размер приложения (исполняемый файл) .exe-файл ~ 2 МБ.
Как это возможно? Может ли кто-нибудь объяснить мне, как это делает линкер?
* Каждый объектный файл содержит код для одной функции * Uhm не очень, обычно каждый объектный файл является результатом компиляции единственной единицы перевода (т. Е. Файла .c/.cpp). –
Вот как работают статические библиотеки на любой платформе, которую я знаю ... –
@MatteoItalia: Спасибо, что указали на ошибку в * Каждый объект ... *. Я обновил свой ответ соответственно. – Codo