Udostępnij za pośrednictwem


Argument, przekazując i konwencji nazewnictwa

Programu Microsoft

Wszystkie argumenty są rozszerzone do 32 bitów, gdy są one przekazywane.Wartości zwracane są również rozszerzone do 32 bitów i zwracane w rejestrze EAX, z wyjątkiem dla struktur 8-bajtowe, które są zwracane w parze rejestru EDX:EAX.Większe struktury są zwracane w rejestrze EAX jako wskaźniki do ukrytych zwrotu struktur.Parametry są wkładany na stos od prawej do lewej.Struktury, które nie są strączki nie będą zwracane w rejestrach.

Kompilator generuje prologu i rejestruje epilog kod do zapisywania i przywracania ESI, EDI, element EBX i EBP, jeśli są one używane w funkcji.

[!UWAGA]

Gdy struct, Unii lub klasy jest zwracany przez funkcję przez wartość, wszystkie definicje typu muszą być takie same, else program może zakończyć się niepowodzeniem w czasie wykonywania.

Aby uzyskać informacje dotyczące sposobu definiowania własny kod prologu i epilog funkcji, zobacz Nagi wywołania funkcji.

Następujące konwencje wywoływania są obsługiwane przez kompilator Visual C/C++.

Słowo kluczowe

Oczyszczanie stosu

Parametr przekazując

__cdecl

Obiekt wywołujący

Wypycha parametrów na stosie, w odwrotnej kolejności (od prawej do lewej)

__clrcall

n/d!

Załadowanie parametrów na stosie wyrażenie CLR w kolejności (od lewej do prawej).

__stdcall

Wywoływany

Wypycha parametrów na stosie, w odwrotnej kolejności (od prawej do lewej)

__fastcall

Wywoływany

Przechowywane w rejestrach, następnie przesunięta na stosie

__thiscall

Wywoływany

Przesunięta na stosie; to wskaźnik przechowywane w ECX

Aby uzyskać pokrewne informacje, zobacz Przestarzałe konwencji wywoływania.

KONIEC szczególne

Zobacz też

Informacje

Konwencje wywoływania