Внесение изменений в динамические библиотеки (Shared Libraries)

Предположим, у нас есть программа на языке C, которая использует динамическую библиотеку.

Если мы внесем изменения в динамическую библиотеку и перекомпилируем ее, все программы, использующие эту библиотеку, автоматически получат эти изменения при следующем запуске. В случае статической библиотеки изменения становятся заметны только после перекомпиляции программы с новой версией библиотеки.

Если мы изменим код некоторых функций динамической библиотеки (без изменения сигнатур функций), добавим новые функции и т. д., то адреса этих функций изменятся.

Как программа, использующая нашу динамическую библиотеку, сможет снова найти эти функции без перекомпиляции и перелинковки? Если их адреса изменились.


Ответы (0 шт):