Einzelnen Beitrag anzeigen

Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.648 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Dll-Methodenparameter von var nach const ändern

  Alt 20. Jan 2017, 10:54
Das kannst du doch leicht testen. Einfach eine Methode so, die andere so und dann sieht das Ergebnis so aus:
Delphi-Quellcode:
procedure stuffA(var a: Integer); stdcall;
procedure stuffB(const a: Integer); stdcall;

Unit155.pas.40: stuffA(a);
005C9AF3 8D45F8 lea eax,[ebp-$08]
005C9AF6 50 push eax
005C9AF7 E8D4FFFFFF call stuffA
Unit155.pas.41: stuffB(a);
005C9AFC 8B45F8 mov eax,[ebp-$08]
005C9AFF 50 push eax
005C9B00 E8D3FFFFFF call stuffB
Sprich bei var wird die Adresse übergeben (lea - load effective address), bei const der Wert (mov - Wert herüberschieben).
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat