Kazalo:
Opredelitev - Kaj pomeni Thunk?
Del v splošnem računalniškem kontekstu je del strojno ustvarjene kode na nizki ravni, ki izvaja podrobnosti programskega sistema. To je eno od naslednjih:
- Del kode, ki izvaja zamudo pri izračunu
- Značilnost izvedbe navidezne funkcijske tabele
- Preslikava podatkov o strojih iz enega sistema v drugega v posebni obliki zaradi težav z združljivostjo
Techopedia razlaga Thunk
Koncepti thunk so se pojavili v začetku leta 1961. To je izračunavanje, ki vrne vrednost argumenta, ko ga izvedemo. Klic po potrebi nadomesti delček po njegovi vrnjeni vrednosti po prvi izvedbi. Jeziki s pozno vezavo iščejo čas izvajanja, ki temelji na izračunih, ki jih opravi Thunk.
Nullarne funkcije (funkcije, ki ne prevzamejo argumentov) v funkcionalnem programiranju se imenujejo del. Thunks simulirajo leno vrednotenje in zamujajo s izračunom argumenta funkcije. Te funkcije še naprej silijo k dejanskim vrednostim. Thunk se lahko seveda pojavi tudi pri izvajanju stalnih funkcij v programiranju visokega reda.
Prevajalniki predmetno usmerjenih jezikov, kot je C ++, ustvarjajo funkcije, imenovane thunks. Optimizirajo klice navideznih funkcij ob navideznih ali večkratnih dedovanjih.
Nekateri primeri kode, ki se lahko premikajo, uporabljajo lokalne klice, da pokličejo funkcije knjižnice. Dinamični klic iz knjižnice v kodi poskoči na stol v skočni tabeli, ki jo dodatno nadomestimo s funkcijami, ki naložijo ustrezno knjižnico ali se premakne na primerno točko v že naloženi knjižnici. Tako delček na tem področju izračuna ali vrne predhodno izračunane in predpomnjene vrednosti. Thunks se uporabljajo v programskih sistemih navideznega pomnilnika za izvajanje preslikave iz virtualnega v fizični naslov. Ustvarjanje 16-bitne virtualne naprave DOS znotraj 32-bitnega OS-a se imenuje omamljanje in zagotavlja povratno združljivost z aplikacijami, ki uporabljajo stare sistemske klice.
Flat thunks uporabljajo thunks prevajanje klicev iz 32-bitne kode v 16-bitno kodo. Vmesna koda prevaja spominski naslov med platformami. Microsoft ima sam gromozanski sloj z imenom Win32s, ki omogoča, da se 32-bitna aplikacija Windows zažene v 16-bitnem sistemu Windows. 64-bitna različica operacijskega sistema Windows ponuja tudi grozljivo plast WoW64, ki omogoča uporabo 32-bitnih aplikacij za Windows.