Taula de continguts:
Definició: què vol dir Thunk?
Un tronc, en un context informàtic general, és una peça de codi de baix nivell generat per màquina, que implementa els detalls d’un sistema de programari. És un dels següents:
- Una peça de codi que realitza un càlcul retardat
- Una característica d’una implementació de la taula de funcions virtuals
- Un mapeig de dades de màquines d'un formulari específic del sistema a un altre per a problemes de compatibilitat
Techopedia explica Thunk
Els conceptes de thunk van sorgir a principis de 1961. És un càlcul que retorna un valor de l'argument quan s'executa. Una trucada per necessitat substitueix un bagatge pel seu valor de retorn després de la primera execució. Els idiomes amb enllaç tardà tenen recorregut en temps d'execució basats en càlculs realitzats per thunk.
A les funcions nul·lars (funcions que no prenen arguments) en la programació funcional s'anomena "thunk". Els troncs simulen l'avaluació mandrosa i retarden el càlcul de l'argument de la funció. Aquestes funcions obliguen a més a més a més dels valors reals. El tronc també pot aparèixer de manera natural en la implementació de funcions constants en la programació d’alt ordre.
Els compiladors de llenguatges orientats a objectes com C ++ generen funcions anomenades thunks. Optimitzen les trucades de funció virtual en presència d’herències virtuals o múltiples.
Alguns casos de codi relacionable utilitzen thunks locals per trucar a les funcions de la biblioteca. Les trucades de biblioteca dinàmiques al codi salten als troncs d'una taula de salt, que es substitueix a més per funcions de càrrega de la biblioteca aplicable o es desplaça a un punt adequat en una biblioteca ja carregada. Així, un tronc d'aquesta àrea calcula o retorna els valors prèviament calculats i en la memòria cau. Els troncs s'utilitzen en sistemes de memòria virtual basats en programari per realitzar un mapeig des de l'adreça virtual a la física. La creació d'una màquina DOS virtual de 16 bits dins d'un sistema operatiu de 32 bits s'anomena thunking i garanteix una compatibilitat endarrerida amb les aplicacions que utilitzen trucades antigues del sistema.
Els troncs plans utilitzen traduccions de trucades de codi de 32 bits a codi de 16 bits. Un codi intermedi tradueix l'adreça de memòria entre plataformes. Microsoft té una capa de criança anomenada Win32s, que permet que l'aplicació Windows de 32 bits s'executi en Windows de 16 bits. La versió de 64 bits de Windows també proporciona una capa d’abordatge, WoW64, que permet utilitzar aplicacions Windows de 32 bits.