SORU
18 Kasım 2008, Salı


__Stdcall nedir?

Win32 programlama öğreniyorum, ve WinMain prototip gibi görünüyor:

int WINAPI WinMain ( HINSTANCE instance, HINSTANCE prev_instance, PSTR cmd_line, int cmd_show )

WINAPI Bu tanımlayıcı ve ne buldu karışık oldu gibi:

#define WINAPI      __stdcall

Bu ne işe yarıyor? Dönüş yazdıktan sonra bu hiç bir şeye sahip olarak kafam karıştı. __stdcall nedir? İade türü ve İşlev Adı arasında bir şey olduğunda ne anlama geliyor?

CEVAP
18 Kasım 2008, Salı


__stdcall çağırma işlevi için kullanılır. Bu derleyici yığın, değişkenler bastırıyor ve bir dönüş değeri almak ayarlamak için geçerli olan kurallar söyler.

Diğer arama kuralları bir dizi, __cdecl, __, __fastcall ve harika __adlı çıplak thiscall vardır. __stdcall Win32 sistem çağrıları için standart çağırma.

Vikipedi details kapakları.

Bu kod (OS API gibi) dışında bir işlevi aradığınız veya OS sizi aradığında öncelikle dava tutamacı, sistem ile burada olduğu gibi) önemli. Eğer derleyici doğru çağırma haberi eğer doğru değilse o zaman muhtemelen bir yığın doğru yönetilmez olarak çok garip çöker alacak.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • CNET

    CNET

    5 Mayıs 2006
  • ELawshea

    ELawshea

    26 Mayıs 2008
  • spyib

    spyib

    9 Ocak 2007