SORU
8 NİSAN 2011, Cuma


C# TAM zamanında derleme ve .NET

Biraz JİT derleyici nasıl çalıştığını ayrıntıları hakkında kafası karışmış oldum. C biliyorum# IL derler. Çalışmaya ilk kez ... TAM zamanında. Bu yerel kod çevrildi bulmayı da içeriyor mu? .NET çalışma zamanı (Sanal Makine?) bu JİT ile etkileşim kod? Bu kadar saf olduğunu biliyorum, ama gerçekten kendimi karıştırdım. Benim izlenimim her zaman meclisleri tarafından yorumlanmış değildir .NET çalışma Zamanı ama etkileşim detayları anlamıyorum.

CEVAP
8 NİSAN 2011, Cuma


Evet, TAM zamanında yapıyor IL kodu yerel makine yönergesi IL çeviri içerir.

Evet .JİT çiğnenmiş yerli makine kodu ile etkileşime NET çalışma zamanı, çalışma zamanı, bellek blokları yerli makine kodu tarafından işgal sahibi olan anlamda, çalışma zamanı, makine kodu, vb yerli çağırır.

Eğer bu doğru .NET çalışma zamanı derlemeleri IL kodu yorumlayamaz.

Ne zaman yürütme ulaşır bir fonksiyon ya da kod bloğu (gibi, bir başka madde bir blok) henüz TAM derlenmiş içine yerel makine kodu, JİT şarkısı çağrılır derlemek için bu bloğu IL içine yerel makine kodu. Bu tamamlandıktan sonra, program yürütme taze yayılan makine kod program mantığı yürütmek için girer. Yerel makine kod yürütülmesine henüz makine koduna derlenmiş bir işlevi çağıran bir işlev ulaşan yürütülürken, JİT, çiçek derlemek için çağrılırbu"tam zamanında". fonksiyon Ve benzeri.

TAM zamanında, bir çiçek mutlaka makine koduna fonksiyon vücudunun tüm mantık aynı anda derleme değildir. Eğer işlev deyimleri, eğer varsa, veya başka maddelerden deyimi blok yürütme aslında bu bloğu üzerinden geçene kadar JİT derlenecek değil. İdam değil kod yollarda yürütmek için ne kadar IL şeklinde kalır.

Derlenmiş yerli makine kodu kod bölüm yürüten bir dahaki sefere kullanılabilir, böylece bellekte tutulur. Bir işlev çağrısı ikinci kez daha hızlı yok JİT adım gerekli değildir, çünkü, ilk daha ikinci kez çalışacak.

Masaüstü .NET, yerli makine kodu uygulama ömrü için bellekte tutulur. .NET CF, yerli makine kodu uygulama belleği yetersiz ise yeni atılmış olabilir. JİT özgün IL kodundan yine derlenmiş olacak yürütme kod geçer.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • DJAndrewRyan

    DJAndrewRyan

    22 Ocak 2007
  • Paste Magazine

    Paste Magazi

    28 AĞUSTOS 2008
  • WiseOwlTutorials

    WiseOwlTutor

    21 EKİM 2011