Implib und was ist mit *.h?



  • Ich möchte eine Dll in mein Projekt einbinden, für die ich den Quellcode nicht habe.

    Mit Implib kann ich von der Dll eine *.lib Datei erzeugen und mit Impdef eine *.def.

    In dem Namen steht anscheinend die Typinformation bereits mit drin, wie bei LuaPlus (gehen wir davon aus ich hätte den Header dafür nicht):

    ?Create@?$CScrLuaMetatableFactory@VEntity@Moho@@@Moho@@MAE?AVLuaObject@LuaPlus@@PAVLuaState@4@@Z @1677

    Gibt es eine Möglichkeit auch automatisch den Header zu generieren, den ich nur noch ins Projekt einbinden muss?



  • Das ist eine MSVC-Funktionssignatur. Dependency Walker kann dir zumindest die Funktionssignaturen reproduzieren, jedoch nicht Typinformationen wiederherstellen. Und du wirst die Funktionen mit dem BCC nur aufrufen können, wenn sie eine kompatible Aufrufkonvention verwenden und du sämtliche Typen kennst.

    Für die DLL kannst du zwar eine .LIB-Datei zur statischen Bindung generieren lassen, da der BCC Funktionsnamen jedoch nach einem völlig anderen Muster dekoriert, keine Headerdatei. In diesem Fall dürfte nur die dynamische Bindung sinnvoll sein.


Anmelden zum Antworten