SORU
28 ŞUBAT 2012, Salı


[C # ("QCall")] nedir?

Bu pek çok yöntem .Net kitaplığı yerel kod uygulanır. Çerçevesinden gelenler kendisini [MethodImpl(MethodImplOptions.InternalCall)] ile işaretlenmiştir. Bazı yönetilmeyen DLL gelenler [DllImport] (örneğin [DllImport("kernel32.dll")]) ile işaretlenmiştir. Şimdiye kadar sıra dışı bir şey yok.

Ama answer for another question, yazarken keşfettim pek çok yöntem [DllImport("QCall")] ile işaretlenmiştir. İç uygulama gibi görünüyor .Net (*örneğin 4*).

Benim sorum: tam [DllImport("QCall")] Ne anlama geliyor? [DllImport("QCall")] [MethodImpl(MethodImplOptions.InternalCall)] arasındaki fark nedir?

CEVAP
1 Mart 2012, PERŞEMBE


Bazı insanlara sordum .Bu konuda Net ekibi.

QCalls CLR çalışma zamanı içinde doğal yöntemleri çağırır. Onlar [DllImport]s gibi davranır, ancak doğal yöntemleri ne hakkında (belgesiz) belirli varsayımlar yapıyorlar çünkü daha hızlılar, çeşitli sıralanırken ve GC ve durum denetimlerini atlamak.

InternalCall farklı; çalışma zamanında oluşturulan özel yansıma tarzı şeyler için çağırır (bu çok net değildi).

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Flohoo

    Flohoo

    12 EYLÜL 2009
  • Jana Williams

    Jana William

    17 AĞUSTOS 2011
  • Tech4Geeks

    Tech4Geeks

    8 Ocak 2012