İçindekiler:
Tanımı - Thunk anlamı ne?
Genel bilgi işlem bağlamında bir thunk, bir yazılım sisteminin ayrıntılarını uygulayan düşük seviyeli makine tarafından üretilen bir kod parçasıdır. Aşağıdakilerden biri:
- Gecikmeli hesaplama yapan bir kod parçası
- Sanal işlev tablosu uygulamasının bir özelliği
- Uyumluluk sorunları için makine verilerinin bir sisteme özgü formdan diğerine eşlenmesi
Techopedia Thunk'u açıklıyor
Thunk kavramları 1961 başlarında ortaya çıktı. Bu, yürütüldüğünde argümanın değerini döndüren bir hesaplamadır. Bir ihtiyaca göre çağrı, ilk yürütmeden sonra bir thunk'ın dönüş değeriyle değiştirilir. Geç bağlanan diller, thunk tarafından yapılan hesaplamalara dayanarak, çalışma zamanında aramaya sahiptir.
Fonksiyonel programlamada null fonksiyonlar (argüman almayan fonksiyonlar) thunk olarak adlandırılır. Thunks tembel değerlendirmeyi simüle eder ve işlev argümanı hesaplamasını geciktirir. Bu işlevler, thunks'ı gerçek değerleri almaya zorlar. Thunk ayrıca yüksek dereceli programlamada sabit fonksiyonların uygulanmasında doğal olarak görünebilir.
C ++ gibi nesne yönelimli dillerin derleyicileri thunks olarak adlandırılan işlevler üretir. Sanal işlev çağrılarını, sanal veya birden çok miras varlığında optimize ederler.
Bazı yeniden yerleştirilebilir kod örnekleri kitaplık işlevlerini çağırmak için yerel thunks kullanır. Koddaki dinamik kitaplık çağrısı, atlama tablosundaki gövdelere atlar; bunun yerine geçerli kitaplığı yükleyen işlevler kullanılır veya önceden yüklenmiş bir kitaplıkta uygun bir noktaya gider. Böylece bu alandaki bir thunk önceden hesaplanmış ve önbelleğe alınmış değerleri hesaplar veya döndürür. Thunks, sanal tabanlıdan fiziksel adrese bir eşleme gerçekleştirmek için yazılım tabanlı sanal bellek sistemlerinde kullanılır. 32 bit işletim sistemi içinde 16 bitlik sanal DOS makinesi oluşturmaya thunking adı verilir ve eski sistem çağrılarını kullanan uygulamalarla geriye dönük uyumluluk sağlar.
Düz sesler, aramaları 32 bit koddan 16 bit koda çeviren thunks kullanır. Bir ara kod, platformlar arasındaki bellek adresini çevirir. Microsoft, 32 bit Windows uygulamasının 16 bit Windows üzerinde çalışmasına izin veren Win32 adında bir thunking katmanına sahiptir. 64 bit Windows sürümü, 32 bit Windows uygulamalarının kullanılmasına izin veren bir thunking katmanı WoW64 de sağlar.