Typedef und __thiscall
-
Hallo,
ich bin grad etwas verwirrt, eventuell weil ich auch schon etwas zu lang wach bin, deswegen frag ich hier mal um Rat.
Ich muss meine Funktion implizit mit __thiscall aufrufen, dazu hab ich mir folgendes typedef erstellt:
struct CMyClass { int __thiscall tMyFunction(char * str, int len); }; typedef int (CMyClass:: * tMyFunction)(char *, int);Und nun das Problem, ich krieg meine Funktion irgendwie nicht zusammengebastelt:
Ich muss meinem Programm sagen wo im Speicher sich tMyFunction befindet.Hier: hab ich keine Ahnung wie ich callMyFunction initialisieren muss, ich hab schon alles rum gestellt, aber es gibt immer Fehler beim kompilieren.
//0x064332 Addressoffset von MyFunction im Speicher CMyClass:: * tMyFunction callMyFunction = (CMyClass:: * MyFunction)0x064332;Wäre super wenn jemand Rat weis.
-
C++ erlaubt keine Konvertierung zwischen Daten- und (Member-)Funktionszeigern.
Aber irgendwie wirst du wohl zur Adresse 0x064332 kommen. Ist die immer gleich? Wieso hast du überhaupt eine Adresse vorliegen? Notfalls kannst du einen Workaround mit
unionversuchen...
-
Oder mit boost::function probieren.
Gut Schuß
VuuRWerK