Frage

Ich habe eine Binärdatei -. Windows-statische Bibliothek (* .lib)
Gibt es eine einfache Möglichkeit, Namen der Funktionen, um herauszufinden, und ihre Schnittstelle aus dieser Bibliothek?

Etwas ähnliches wie emfar und elfdump Utilities (auf Linux-Systemen)?

War es hilfreich?

Lösung

Sie sprechen über eine statische Bibliothek Unter der Annahme, zeigt DUMPBIN /SYMBOLS die Funktionen und Datenobjekte in der Bibliothek. Wenn Sie über eine Import-Bibliothek reden (a .lib verwendet, um Symbole aus einer DLL exportierten beziehen), dann mögen Sie DUMPBIN /EXPORTS.

Beachten Sie, dass Funktionen für mit der „C“ Binärschnittstelle verknüpfen, wird dies immer noch nicht erhalten Sie Rückgabewerte, Parameter oder Aufrufkonvention. Diese Informationen werden nicht in der .lib codiert; müssen Sie dies vor der Zeit (über Prototypen in Header-Dateien, zum Beispiel) kennen, um sie richtig zu nennen.

Für verknüpfte Funktionen mit dem C ++ Binärschnittstelle, die Aufrufkonvention und Argumente in den exportierten Namen der Funktion codiert werden (auch genannt „namen Mangeln“). DUMPBIN /SYMBOLS zeigt Ihnen sowohl die „verstümmelte“ Funktionsnamen sowie den decodierten Satz von Parametern.

Andere Tipps

Öffnen Sie eine visuelle Befehlskonsole (Visual Studio-Eingabeaufforderung)

dumpbin /ARCHIVEMEMBERS openssl.x86.lib

oder

lib /LIST openssl.x86.lib

oder nur öffnen Sie es mit 7-zip :) sein ein AR-Archiv

Ich wollte ein Tool wie ar t libfile.a in Unix.
Das Fenster entspricht lib.exe /list libfile.lib.

LIB.EXE ist der Bibliothekar für VS

http://msdn.microsoft.com/en -US / library / 7ykb2k5f (VS.80) aspx

(wie libtool auf Unix)

"dumpbin -exports" arbeitet für dll, aber manchmal für lib möglicherweise nicht. Für lib können wir "dumpbin -linkermember" oder einfach ": 1 dumpbin -linkermember" verwenden.

DUMPBIN / exports werden die meisten dieser Informationen erhalten und schlagen MSDN wird den Rest bekommen.

eines der Visual Studio-Pakete Get; C ++

1) Öffnen Sie eine Eingabeaufforderung Entwickler für VS 2017 (oder was auch immer Version auf Ihrem Rechner) (Es sollte unter befinden: Startmenü -> Alle Programme -> Visual Studio 2017 (oder was auch immer Version Sie haben auf Ihr Gerät) -> Visual Studio-tools  -.> Entwicklereingabeaufforderung für VS 2017

2) Geben Sie den folgenden Befehl ein:

dumpbin /EXPORTS my_lib_name.lib

Wie es in anderen Antworten zu sehen ist es eine Entwickler-Eingabeaufforderung angeboten in Ihrer Version von Visual Studio öffnen muß dumpbin.exe in Ihrem Ausführungspfad zu haben. Ansonsten können Sie die notwendigen Umgebungsvariablen von Hand eingestellt.

dumpbin /EXPORTS yourlibrary.lib zeigt in der Regel nur eine kleine Liste von Symbolen. In vielen Fällen wird es nicht die Funktionen der Bibliothek Exporte zeigen.

dumpbin /SYMBOLS /EXPORTS yourlibrary.lib wird zeigen, dass Symbole, sondern auch eine unglaublich große Menge an anderen SymbOS. So bekam man sich zu filtern, möglicherweise mit einem Rohr findstr (wenn Sie ein MS-Windows-Tool wollen) oder grep.

Suche im Static Schlüsselwort eines dieser Tools scheint ein guter Hinweis zu sein.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top