Dom Rozwój Thunk - definicja z techopedii

Thunk - definicja z techopedii

Spisu treści:

Anonim

Definicja - Co oznacza Thunk?

Thunk, w ogólnym kontekście komputerowym, jest kawałkiem generowanego maszynowo kodu niskiego poziomu, który implementuje szczegóły systemu oprogramowania. Jest to jedna z następujących czynności:

  1. Fragment kodu wykonujący opóźnione obliczenia
  2. Funkcja implementacji wirtualnej tablicy funkcji
  3. Odwzorowanie danych maszynowych z jednego formularza specyficznego dla systemu na inny pod kątem problemów ze zgodnością

Techopedia wyjaśnia Thunk

Koncepcje thunk pojawiły się na początku 1961 roku. Jest to obliczenie zwracające wartość argumentu po wykonaniu. Wywołanie według potrzeby zastępuje thunk wartością zwracaną po pierwszym wykonaniu. Języki z późnym wiązaniem mają wyszukiwanie w czasie wykonywania na podstawie obliczeń wykonanych przez thunk.


Funkcje zerowe (funkcje, które nie przyjmują argumentów) w programowaniu funkcjonalnym są nazywane thunk. Thunks symulują leniwą ocenę i opóźniają obliczanie argumentów funkcji. Funkcje te dodatkowo zmuszają thunks do uzyskania rzeczywistych wartości. Thunk może również pojawiać się naturalnie w implementacji stałych funkcji w programowaniu wyższego rzędu.


Kompilatory języków zorientowanych obiektowo, takich jak C ++, generują funkcje zwane thunks. Optymalizują wirtualne wywołania funkcji w obecności wirtualnego lub wielokrotnego dziedziczenia.


Niektóre instancje kodu relokowalnego używają lokalnych argumentów do wywoływania funkcji bibliotecznych. Dynamiczne wywołanie biblioteki w kodzie przeskakuje na grube w tabeli skoków, które jest następnie zastępowane przez funkcje ładujące odpowiednią bibliotekę lub przechodzi do odpowiedniego punktu w już załadowanej bibliotece. Więc thunk w tym obszarze oblicza lub zwraca wcześniej obliczone i buforowane wartości. W programowych systemach pamięci wirtualnej stosuje się elementy „Thunks” do mapowania adresu wirtualnego na fizyczny. Tworzenie 16-bitowej wirtualnej maszyny DOS w 32-bitowym systemie operacyjnym nazywa się thunking i zapewnia wsteczną kompatybilność z aplikacjami używającymi starych wywołań systemowych.


Flat thunks używają thunks tłumaczących połączenia z kodu 32-bitowego na kod 16-bitowy. Kod pośredni tłumaczy adres pamięci między platformami. Microsoft ma własną grubą warstwę o nazwie Win32s, która pozwala na działanie 32-bitowej aplikacji Windows na 16-bitowym systemie Windows. 64-bitowa wersja systemu Windows zawiera również warstwę zagęszczającą WoW64, która pozwala na korzystanie z 32-bitowych aplikacji Windows.

Thunk - definicja z techopedii