Як працює динамічний компонувальник?

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

Динамічне зв'язування є двоетапний процес, який покладається на доступ до адрес коду. Перший крок відбувається під час компіляції. Коли файл компілюється за допомогою динамічної бібліотеки, замість того, щоб копіювати фактичний об’єктний код, що міститься в бібліотеці, компонувальник просто сканує код, що міститься, і перевіряє наявність відсутніх символів.

Програми, які динамічно зв’язуються, пов’язуються зі спільними об’єктами, які мають розширення . так. Прикладом такого об'єкта є спільна об'єктна версія стандартної бібліотеки C, libc.so.

З динамічними посиланнями, ваші користувачі отримують найкращий доступний досвід для платформи, на якій вони відкривають ваше посилання. Якщо користувач відкриває динамічне посилання на iOS або Android, він може перейти безпосередньо до вмісту за посиланням у вашій рідній програмі.

Динамічне зв’язування може призвести до фрагментована пам'ять, оскільки кожна динамічно пов’язана бібліотека може бути завантажена в різні сегменти пам’яті, що може знизити продуктивність системи.