Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

11.01.2009, 11:16

Parameterübergabe in Delphi

Hi,

Ich hab vor in Informatik ne GFS über Zeiger zu machen und will auch interne Vorgänge erklären.
Jetzt bin ich über diese Seite hier gestolpert (http://www.herculina.de/dllusage.htm), welche mir sagt dass Delphi den Stack bei der Parameterübergabe nur für den Datentyp Double benutzt.

Zitat


Standardmäßig übergibt Delphi die Parameter von links nach rechts und benutzt zur Übergabe von Parametern außerdem bis zu drei Register (ein Register wird jedoch nur für Datentypen ungleich double benutzt).

Ein Beispiel:

procedure example1 (a: long; x: double; s: PChar);
In diesem Fall werden a und die Adresse von s in den Registern EAX und EDX übergeben, während x als Doppelwort auf den Stack gelegt wird.



Stimmt das? Kennt sich da irgendwer aus? Denn irgendwie gibts über Delphi net viel Informationen wie das intern funktioniert.
Ich gebe bei der Arbeit immer 100%

6% Montags
30% Dienstags
35% Mittwochs
25% Donnerstag
4% Freitag

David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

2

11.01.2009, 11:26

Ja, das stimmt. (zumindest fast: Direkt auf dem Stack landen alle Fließkommatypen und für Register ungeeignete Typen)
@D13_Dreinig