Diskussion:Aufrufkonvention

aus Wikipedia, der freien Enzyklopädie
Letzter Kommentar: vor 2 Jahren von 178.2.21.31 in Abschnitt Unklarheit bei stdcall
Zur Navigation springen Zur Suche springen

ich kann kein assembler, aber die logik sagt mir, dass beim ersten assembler codestück ein push x am anfang fehlt. --84.154.23.20 20:24, 29. Mai 2007 (CEST)Beantworten

In x (wobei x für eine Adresse im Speicher steht) soll der Rückgabewert gespeichert werden, dafür muss es nicht auf den Stack gepusht werden. Auf den Stack müssen lediglich die Argumente der Funktion. --Odioz 21:16, 29. Mai 2007 (CEST)Beantworten

AMD64 Architektur und Register Aufrufkonvention

[Quelltext bearbeiten]

Im Artikel AMD64 steht folgendes: Gleichzeitig wurde mit AMD64 eine neue Aufrufkonvention für Programmprozeduren (ABI) eingeführt, bei dem Parameter nicht mehr regelmäßig über den Programmstack laufen wie in den klassischen x86-Betriebsmodi, sondern in der Regel in Registern übergeben werden. Dieses registerorientierte ABI ist bei anderen Prozessorfamilien (wie PowerPC) schon länger üblich und kann zu einer Beschleunigung rechenintensiver Programme führen. Dies sollte man eventuell in den Artikel noch einbauen, da sich das bei der 64 Bit Architektur etwas geändert hat und dort die Register R1-R15 verwendet werden. --84.56.184.84 20:10, 24. Nov. 2007 (CET)Beantworten

Ich habe bei fastcall einen entsprechenden Satz hinzugefügt. --85.70.197.210 10:27, 18. Jun. 2010 (CEST)Beantworten

Andere CPU-Architekturen ??

[Quelltext bearbeiten]

Andere CPU-Architekturen (ARM,MIPS,Itanium,PowerPC,....) sind in dem Artikel nicht mal ansatzweise erwähnt. Es werden nur die 32Bit-x86 behandelt. Ein Blick auf andere CPU-Architekturen kann bestimmt nicht schaden, wenigstens als externe Links. Grüße Erik

Binärschnittstelle und Aufrufkonvention

[Quelltext bearbeiten]

Sind Aufrufkonventionen ein Aspekt einer Binärschnittstelle? --Abdull 21:29, 13. Jan. 2010 (CET)Beantworten

Um von dort jetzt hier weiter zumachen: Nach meiner (einigermaßen ungenauen) Erinnerung sind die verschiedenen Alpha-Prozessoren binärkompatibel: Ein wesentliches Merkmal ist, dass die Parallelisierung innerhalb der CPU stattfindet, die cdecl-Aufrufkonventionen also über die verschiedenen Prozessor-Generationen gleich bleiben. Ähnliches gilt vermutlich auch für Sun SPARC. Es wäre wohl hilfreich, im Artikel hier auch RISC-Maschinen abzuhandeln. --grixlkraxl 22:42, 13. Jan. 2010 (CET)Beantworten

void als Rückgabeparameter

[Quelltext bearbeiten]

Beim Beispiel für _cdecl ist der Rückgabewert void während für die Parameter params steht. Das erweckt doch den Eindruck, als ob _cdecl-Funktionen alle keinen Rückgabewert haben dürften. Wäre es da nicht konsistenter wenn der Rückgabewert unverbindlich als solche benannt wird z.B. rwert oder so? -- 88.78.30.229 23:56, 14. Mär. 2010 (CET)Beantworten

ich habe die Beispiele mal so angepasst, dass sie den Prototypen der Funktion des allerersten Beispiels verwenden --IUniversEi (Diskussion) 13:37, 12. Okt. 2012 (CEST)Beantworten

Unklarheit bei stdcall

[Quelltext bearbeiten]

Satz: "Funktionsparameter werden von rechts nach links übergeben".

Dieser Satz ist mir nicht ganz klar. Ist damit gemeint, dass die Funktions-Parameter von rechts beginnend nach links hin nacheinander auf den Stack (in den entsprechenden Stackframe) gelegt werden? (nicht signierter Beitrag von 87.77.81.240 (Diskussion) 12:46, 16. Dez. 2010 (CET)) Beantworten

Ja.
extern int func(int, char);
führt z.b. dazu, dass bei dieser Aufrufkonvention zuerst das int, dann das char auf den Stack gelegt wird. Und der Stack wächst von oben nach unten. D.h. ganz unten wäre der letzte in den Stack gelegte Wert. --IT-Compiler (Diskussion) 04:00, 13. Jun. 2022 (CEST)Beantworten
Muss doch genau anders herum sein. "Von rechts nach links": erst char, dann int.
--178.2.21.31 17:36, 11. Dez. 2022 (CET)Beantworten

Wortwahl

[Quelltext bearbeiten]

In der Übersichtstabelle steht als Verb "aufräumen", im restlichen Text steht "abbauen". "Abbauen" klingt irgendwie plastisch oder so, "aufräumen" hört sich einfach besser an; ich würde das ändern, wenn dem nichts entgegensteht... --.love.is.war. 02:13, 20. Feb. 2012 (CET)Beantworten

nur zu, sei mutig. Konsistente Wortwahl verbessert die Verständlichkeit. gruesse Shaddim 10:29, 21. Feb. 2012 (CET)Beantworten