Einzelnen Beitrag anzeigen

Benutzerbild von JasonDX
JasonDX
(CodeLib-Manager)

Registriert seit: 5. Aug 2004
Ort: München
1.062 Beiträge
 
#2

Re: Inline-ASM: Virtuelle Funktion aufrufen

  Alt 22. Mai 2007, 19:38
Zitat von DGL-luke:
1. ist das sauber? kann sich das nicht verschieben, so dass die Konstante dann auf einen falschen Bereich zeigt?
Die Konstante vmtCompare ist eine Konstante, die zur Compiletime festgelegt wird. in der Virtual Method Table hinterlegt der Linker die Adressen für die virtuellen Methoden. VmtCompare zeigt auf die Adresse (relativ zum Instanzzeiger), in der die Adresse für die überschriebene Compare(?)-Funktion steht. Der Punkt in der VMT, wo die Adresse von Compare steht, bleibt immer der selbe. Der wird zur Compiletime festgelegt und bleibt dort. Deswegen kann sich das nicht verschieben. (Etwas anders ist es bei Interfaces).

Zitat von DGL-luke:
2. Wie macht mans sauber?
IMO so wie gemacht

greetz
Mike
Mike
Passion is no replacement for reason
  Mit Zitat antworten Zitat