Dynamiczne linkowanie

Z Wikipedii, wolnej encyklopedii

Dynamiczne linkowanie (od ang. linkłączyć) oznacza, że określone dane, procedury i funkcje z biblioteki nie są umieszczane w pliku wykonywalnym lub innej bibliotece w trakcie konsolidacji programu (procesu, zwanego potocznie linkowaniem), ale pozostają w oddzielnym pliku na dysku, lub wręcz na innym komputerze – patrz DCOM. Sam program ma zapisaną nazwę tego pliku oraz nazwy lub identyfikatory (od ang. ordinalnumer porządkowy) potrzebnych adresów funkcji, lub danych. Dane te zostają udostępnione („dołączone”) w momencie uruchamiania programu lub w trakcie jego działania. Procesem tym zawiaduje system operacyjny. W odpowiednim momencie wyszukuje on plik, ładuje go do pamięci (chyba że już był wcześniej załadowany) i udostępnia dane programowi.

Biblioteka, którą można w ten sposób dołączać do programów nosi nazwę biblioteki współdzielonej (ang. shared library, shared object) lub biblioteki dołączanej dynamicznie (ang. Dynamically Linked Library, w skrócie: DLL). W systemach uniksowych biblioteki takie znajdują się w plikach z rozszerzeniem .so, natomiast w OS/2 i Microsoft Windows w plikach z rozszerzeniem .dll. Biblioteki takie mają szerokie zastosowanie podczas procesu tworzenia oprogramowania ze względu na podział funkcji, i możliwość późniejszego ponownego użycia już istniejącej biblioteki.