[C # ("QCall")] nedir? | Netgez.com
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

  • 24 Канал

    24 КанаÐ

    5 ÅžUBAT 2006
  • PamtheBlamofficial

    PamtheBlamof

    31 Aralık 2010
  • wwjoshdu

    wwjoshdu

    18 ÅžUBAT 2011