AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein [Assemmbler] Aufrufkonvention erkennen
Thema durchsuchen
Ansicht
Themen-Optionen

[Assemmbler] Aufrufkonvention erkennen

Ein Thema von scp · begonnen am 25. Aug 2005 · letzter Beitrag vom 26. Aug 2005
Antwort Antwort
Seite 2 von 2     12   
Olli
(Gast)

n/a Beiträge
 
#11

Re: [Assemmbler] Aufrufkonvention erkennen

  Alt 25. Aug 2005, 14:11
Zitat von jbg:
Zitat von BlackJack:
Aber Delphi benutzt *immer* implizit Register wenn es nicht debuggt
Auch dort wird register als Aufrufkonvention benutzt, wenn nichts anderes erzwungen wird.
Das Zitat war von mir. Und den Hinweis auf's Debuggen hatte ich drin, weil es Leute gibt, die mir gegenüber anderes behaupteten, ich dies aber nicht verifizieren konnte.

Zitat von jbg:
Warum so umständlich? Du kannst doch die Namen der Parameter benutzen. Wobei die ersten drei 32-Bit Parameter dann durch ihre Registernamen ersetzt werden, was wiederum zu Fehlern führen kann:
Komisch, genau dabei kam bei mir bereits schonmal Mist raus. Lag aber vielleicht an anderen Umständen. Das muß ich direkt nochmal intensiver testen.
  Mit Zitat antworten Zitat
scp

Registriert seit: 31. Okt 2003
1.120 Beiträge
 
Delphi 7 Personal
 
#12

Re: [Assemmbler] Aufrufkonvention erkennen

  Alt 25. Aug 2005, 17:01
Scheint ein interessantes Thema zu sein

Habe mittlerweile die Anzahl mittels "Neuron PE Disassembler" rausgefunden: Es sind 14 (!) DWORD bzw. Pointer-Parameter.

PS: Es handelt sich um eine VC DLL, nur der Aufruf erfolgt jetzt über Delphi.
  Mit Zitat antworten Zitat
Olli
(Gast)

n/a Beiträge
 
#13

Re: [Assemmbler] Aufrufkonvention erkennen

  Alt 25. Aug 2005, 18:35
Zitat von scp:
Habe mittlerweile die Anzahl mittels "Neuron PE Disassembler" rausgefunden: Es sind 14 (!) DWORD bzw. Pointer-Parameter.
Kostenlose Alternative: http://www.datarescue.be/idafreeware/freeida43.exe

Wenn noch was in Sachen RE ist, haste ja meine Mailadresse
  Mit Zitat antworten Zitat
Benutzerbild von BlackJack
BlackJack

Registriert seit: 2. Jul 2005
Ort: Coesfeld
246 Beiträge
 
Delphi 2005 Personal
 
#14

Re: [Assemmbler] Aufrufkonvention erkennen

  Alt 25. Aug 2005, 21:22
Zitat von scp:
PS: Es handelt sich um eine VC DLL, nur der Aufruf erfolgt jetzt über Delphi.
ich glaube zum aufrufen von DLL-funktionen benutzt man die cdecl-Konvention.
See my shadow changing, stretching up and over me.
Soften this old armor. Hoping I can clear the way
By stepping through my shadow, coming out the other side.
Step into the shadow. Forty six and two are just ahead of me.
  Mit Zitat antworten Zitat
scp

Registriert seit: 31. Okt 2003
1.120 Beiträge
 
Delphi 7 Personal
 
#15

Re: [Assemmbler] Aufrufkonvention erkennen

  Alt 25. Aug 2005, 21:49
Nö, auch das weis der Disassembler, es ist stdcall und klappt auch.
  Mit Zitat antworten Zitat
Olli
(Gast)

n/a Beiträge
 
#16

Re: [Assemmbler] Aufrufkonvention erkennen

  Alt 25. Aug 2005, 21:50
Zitat von BlackJack:
ich glaube zum aufrufen von DLL-funktionen benutzt man die cdecl-Konvention.
Üblicherweise benutzt man die Aufrufkonvention, die auch die DLL benutzt
Und das hängt nunmal wirklich von der DLL ab. Fastcall ist mir auch schon begegnet, Cdecl ebenfalls, aber am häufigsten sind immernoch Stdcall und Safecall.
  Mit Zitat antworten Zitat
Benutzerbild von BlackJack
BlackJack

Registriert seit: 2. Jul 2005
Ort: Coesfeld
246 Beiträge
 
Delphi 2005 Personal
 
#17

Re: [Assemmbler] Aufrufkonvention erkennen

  Alt 26. Aug 2005, 02:12
naja das man auch in DLLs die konvention frei wähöen kann ist ja eigentlich klar, nur dachte ich, dass sich da als Quasi-Standard die cdecl etabliert hätte.

p.s.: wie war das noch: bei cdecl muss der aufrufer nachher selber den stack aufräumen, oder?
See my shadow changing, stretching up and over me.
Soften this old armor. Hoping I can clear the way
By stepping through my shadow, coming out the other side.
Step into the shadow. Forty six and two are just ahead of me.
  Mit Zitat antworten Zitat
Olli
(Gast)

n/a Beiträge
 
#18

Re: [Assemmbler] Aufrufkonvention erkennen

  Alt 26. Aug 2005, 10:55
Zitat von BlackJack:
dachte ich, dass sich da als Quasi-Standard die cdecl etabliert hätte.
Wer auf Kompatibilität setzt, benutzt stdcall. Das beherrschen so ziemlich alle Sprachen (sogar VB - übrigens für VB die einzige Aufrufkonvention!).

Zitat von BlackJack:
bei cdecl muss der aufrufer nachher selber den stack aufräumen, oder?
Korrekt. Sonst macht dies immer der Aufgerufene.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:33 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz