| Zeile 62: | Zeile 62: | ||
== stdcall == | == stdcall == | ||
| − | stdcall ist die Standardaufrufkonvention unter | + | stdcall ist die Standardaufrufkonvention unter 32-Bit-Windows-Systemen. Es gleicht in den meisten Aspekten cdecl, allerdings muss die aufgerufene Funktion den Stack am Ende mit einem „ret n“ (Wobei n für die Größe der Parameter auf dem Stack steht) ausgleichen. |
| − | + | ||
== Register- oder Fastcall-Konvention == | == Register- oder Fastcall-Konvention == | ||
| − | Viele Compiler bieten zusätzlich auch noch eine Register- oder Fastcall-Konvention an, die aber meist | + | Viele Compiler bieten zusätzlich auch noch eine Register- oder Fastcall-Konvention an, die aber meist compilerspezifisch ist. Bei dieser werden aus Geschwindigkeitsgründen die ersten zwei oder drei Parameter in die Register EAX, EDX und ECX gespeichert. Die übrigen Parameter werden, beginnend mit dem letzen, auf den Stack gelegt. Der Rückgabewert wird in AL, AX oder EAX übergeben. |
<c> | <c> | ||
int a,b,c,d,e,r; | int a,b,c,d,e,r; | ||