interface aus DLL extrahieren
-
hab hier ne DLL mit ewig vielen methoden, die ich nachbauen möchte. hab jetzt irgendwie keine lust, den ganzen krempel von hand zu schreiben
gibs tools, die nen interface aus einer DLL extrahieren können?
-
Wenn es sich um ein C-Interface handelt: nein, da keinerlei Informationen über die Funktionssignaturen in der DLL vorhanden sind.
Wenn die DLL C++-Klassen und -Funktionen exportiert oder ein COM-Interface hat, dürfte das eingeschränkt möglich sein (Datenstrukturen müßten bekannt sein), jedoch ist mir kein spezielles Tool für diesen Zweck bekannt.
-
sind reine c++ methoden und strukturen. an die signaturen kommt man problemlos dran. hm, vielleicht schreib ich mir dann selbst son tool.
-
Beim Borland C++ Builder gibt es das Tool 'ImpDef', welches aus einer DLL eine DEF-Datei erzeugt. Die DEF-Datei enthält dann sowohl die 'mangled' als auch 'unmangled'-Namen der Funktionen inklusive Parameter.
Die Namen von Template-Klassen sind dann unaufgelöst, z.B.cgicc::Cgicc::getElement(const std::basic_string<char, std::char_traits<char>, std::allocator<char> >&) statt cgicc::Cgicc::getElement(const std::string&)Klar, daß er die typedefs 'string', 'wstring' etc. nicht kennt, aber mit Find & Replace hat man dann wieder die gewohnte Form.
Leider scheint der Rückgabewert nicht enthalten zu sein...