Kategoria: C# Dodane przez marcin90

Jakie są różnice pomiędzy wczesnym a późnym wiązaniem?

1 odpowiedź

1 0 Dodane 20-07-2018 przez Pawel

Proces wczesnego wiązania polega na tym, że kompilator wywołuje identyfikatory funkcji na podstawie kodu źródłowego. Następnie linker pobiera te identyfikatory i zamienia je na adres fizyczny. W ten sposób identyfikatory funkcji łączone są z adresami fizycznymi przed wykonaniem programu w procesie kompilacji i konsolidacji programu. Problem z wczesnym wiązaniem polega na tym, że programista musi przewidzieć, jakie obiekty będą używane we wszystkich wywołaniach funkcji w każdej sytuacji. Daje to w wyniku dużą szybkość, ale brak elastyczności.


Proces późnego wiązania jest bardziej złożony. Kod programu sam musi decydować w czasie swojego wykonania, którą funkcję należy wywołać. Wymusza to, aby kod wykonawczy sortował powiązania identyfikatorów i adresów funkcji. Daje to w wyniku skuteczny język, lecz stosowanie późnego wiązania spowalnia działanie programu. 


Dodaj swoją wersję odpowiedzi

Dodajesz odpowiedź jako gość. Zaloguj się się by uzyskać dostęp do rankingu oraz powiadomień.