У чому різниця статичних та динамічних бібліотек?

Статична бібліотека (лінківка) означає, що вихідний код усередині бібліотеки буде буквально скопійовано у двійковий файл вашої програми. Динамічна бібліотека (лінківка) означає, що залежності вашої бібліотеки будуть дозволені під час виконання.

Найпростіше визначення статичної і динамічної навантажень полягає в тому, що статичні навантаження не переміщаються, а динамічні – Ні.

Однією з переваг статичних бібліотек є те, що вам потрібно поширити лише 1 (виконуваний) файл, щоб користувачі могли запустити і використовувати вашу програму.

Динамічні бібліотеки (dll/so) містять функції, які завантажуються в ОЗУ тільки у той момент, коли вони реально знадобилися. А функції із статичних бібліотек прикомпоновываются до модуля заздалегідь, незалежно від того, будуть вони викликані, чи ні. Економія пам'яті виходить дуже суттєва.

loading
×