Aufrufkonventionen — Änderungen 2588 → 2593

Zeile 1: Zeile 1:
−
Unter dem Begriff "Aufrufkonventionen" versteht man die Art und Weise wie Funktionen aufgerufen werden. Welche Aufrufkonvention verwendet werden, hängt vom benutzten Compiler ab.
+
Unter dem Begriff "Aufrufkonventionen" versteht man die Art und Weise wie Parameter für eine aufzurufende Funktionen übergeben werden. Welche Aufrufkonvention verwendet wird, hängt vom Compiler ab.
  
 
== cdecl ==
 
== cdecl ==
−
cdecl wird von vielen Compilern verwendet die für x86-Systeme kompilieren. Die Parameter werden, beginnend mit den letzten, nacheinander auf den Stack gelegt. Der Rückgabewert einer Funktion wird über das EAX-Register übergeben.
+
Cdecl wird von vielen Compilern verwendet die für x86-Systeme kompilieren. Die Parameter werden, beginnend mit den letzten, nacheinander auf den Stack gelegt. Der Rückgabewert einer Funktion wird über das EAX-Register übergeben.
 
<c>
 
<c>
 
int a,b,c,r;
 
int a,b,c,r;
Zeile 25: Zeile 25:
  
 
== Register- oder Fastcall-Konvention ==
 
== Register- oder Fastcall-Konvention ==
−
Bei der Register- oder Fastcall-Konvention werden die ersten zwei oder drei Parameter in die Register EAX, EDX und ECX gespeichert werden. Die übrigen Parameter werden, beginnend mit dem letzen, auf den Stack gelegt. Der Rückgabewert wird in AL, AX oder EAX übergeben. Hinzuzufügen ist noch, dass die Register- oder Fastcall-Konvention sehr Implementationsabhängig ist.
+
Bei der Register- oder Fastcall-Konvention 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;