Sadržaj:
Definicija - Što znači Thunk?
Skup u općem računalnom kontekstu djelo je strojno generiranog koda niske razine koji implementira detalje softverskog sustava. To je jedno od sljedećeg:
- Dio koda koji izvodi računal s odgođenim računanjem
- Značajka implementacije virtualne funkcionalne tablice
- Mapiranje podataka o strojevima iz jednog oblika u drugi specifičan za sustav radi pitanja kompatibilnosti
Techopedia objašnjava Thunk
Koncepti kretnje pojavili su se početkom 1961. To je proračun koji vraća vrijednost argumenta kad se izvrši. Poziv prema potrebi zamijeni stepen povratnom vrijednošću nakon prvog izvršenja. Jezici s kasnim vezanjem pretražuju se u vremenu izvođenja, temeljeno na izračunavanjima koja se provode kroz skup.
Nullarne funkcije (funkcije koje ne uzimaju argumente) u funkcionalnom se programiranju nazivaju skup. Thunks simuliraju procjenu lijenosti i odgađaju izračun argumenata funkcije. Ove funkcije dodatno djeluju na stezanje kako bi dobili stvarne vrijednosti. Thunk se također može pojaviti prirodno u primjeni konstantnih funkcija u programiranju visokog reda.
Kompilatori objektno orijentiranih jezika poput C ++ generiraju funkcije nazvane thunks. Oni optimiziraju virtualne pozive funkcija uz prisutnost virtualnog ili višestrukog nasljeđivanja.
Neki slučajevi pomicanja koda koriste lokalne kretnje za pozivanje funkcija knjižnice. Dinamički poziv biblioteke u kodu skače i dolazi do skakanja u skočnoj tablici, koji se nadalje zamjenjuje funkcijama koje učitavaju primjenjivu knjižnicu ili se premješta na odgovarajuću točku u već učitanoj biblioteci. Tako dio u ovom području izračunava ili vraća prethodno izračunate i predmemorirane vrijednosti. Thunks se koriste u softverskim sustavima virtualne memorije za izvođenje preslikavanja s virtualne na fizičku adresu. Stvaranje 16-bitnog virtualnog DOS stroja unutar 32-bitnog OS naziva se potresno i osigurava povratnu kompatibilnost s aplikacijama koje koriste stare sistemske pozive.
Ravni kunui koriste prepirke prevodeći pozive sa 32-bitnog koda u 16-bitni kod. Prelazni kôd prevodi memorijsku adresu između platformi. Microsoft ima gromoglasni sloj sebe nazvan Win32s, koji omogućuje pokretanje 32-bitne Windows aplikacije na 16-bitnom Windows-u. 64-bitna verzija sustava Windows također nudi gromoglasni sloj, WoW64, koji dopušta upotrebu 32-bitnih Windows programa.