Einzelnen Beitrag anzeigen

Benutzerbild von DGL-luke
DGL-luke

Registriert seit: 1. Apr 2005
Ort: Bad Tölz
4.149 Beiträge
 
Delphi 2006 Professional
 
#1

Inline-ASM: Virtuelle Funktion aufrufen

  Alt 22. Mai 2007, 15:32
Hallo,

ich bin hier gerade komplett ohen Assembler-Vorkenntnisse dabei, in einer in Assembler geschriebenen Funktion rumzuschnüffeln.

In der wird folgendermaßen eine virtuelle Funktion gecallt:

Code:
call dword ptr [ecx].vmtCompare
In [ecx] steht die Instanz eines Nachfahren der Klasse, in der die virtuelle Funktion definiert ist. vmtCompare ist dabei eine Konstante, über die die Funktion komplett gecallt wird.
1. ist das sauber? kann sich das nicht verschieben, so dass die Konstante dann auf einen falschen Bereich zeigt?
2. Wie macht mans sauber?
Lukas Erlacher
Suche Grafiktablett. Spenden/Gebrauchtangebote willkommen.
Gotteskrieger gesucht!
For it is the chief characteristic of the religion of science that it works. - Isaac Asimov, Foundation I, Buch 1
  Mit Zitat antworten Zitat