Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

konwencje

Ostatnio zmodyfikowano 2009-03-23 15:36
Autor Wiadomość
pekfos
Temat założony przez niniejszego użytkownika
konwencje
» 2009-03-23 10:13:44
C/C++
#define WINAPI __stdcall
#define CALLBACK __stdcall
#define APIPRIVATE __stdcall
#define PASCAL __stdcall
#define APIENTRY WINAPI
#define WINAPI_INLINE  WINAPI
#define WINAPIV __cdecl //definicja konwencji C
co dają te konwencje?
P-4958
DejaVu
» 2009-03-23 13:26:25
O ile się nie mylę te zapisy informują w jakim standardzie ma zostać odłożony skok do funkcji i argumenty na stos.

/edit:
Informacje na MSDN'ie:
http://msdn.microsoft.com/en-us/library/zxk0tw93(VS.80).aspx
P-4961
pekfos
Temat założony przez niniejszego użytkownika
» 2009-03-23 15:48:18
hmm.. poco w WinAPI jest zdefiniowane __stdcall kilka razy  pod
różnymi nazwami skoro można używać po prostu __stdcall?
LRESULT CALLBACK funkcja();
to chyba to samo co
LRESULT __stdcall funkcja();
lub
LRESULT PASCAL funkcja();
P-4966
manfred
» 2009-03-23 15:36:28
O ile się nie mylę te zapisy informują w jakim standardzie ma zostać odłożony skok do funkcji i argumenty na stos.
 Mylisz się. Argumenty nie muszą być koniecznie przekazywane przez stos (np. fastcall), a "odkładanie skoku do funkcji" (??) to po prostu call (odłożenie adresu powrotnego na stos i skok na początek funkcji, ret zaś zdejmuje adres powrotny ze stosu i skacze pod niego)...
P-18799
« 1 »
  Strona 1 z 1