1. ホーム
  2. ウィンドウズ

[解決済み】Windowsのライブラリ(*.lib)の中身を確認する方法)

2022-04-10 07:22:57

質問

Windowsスタティックライブラリ(*.lib)のバイナリファイルを持っています。

そのライブラリから関数名とそのインタフェースを簡単に調べる方法はありますか?

と同じようなものです。 emfarelfdump ユーティリティ(Linuxシステム)?

解決方法は?

静的ライブラリの話だと仮定して。 DUMPBIN /SYMBOLS は、ライブラリの関数とデータオブジェクトを表示します。 インポートライブラリについて話している場合は、( .lib DLLからエクスポートされたシンボルを参照するために使用される)、その場合は DUMPBIN /EXPORTS .

C"バイナリインタフェースでリンクされた関数では、これでも戻り値、パラメータ、呼び出し規約を得ることができないことに注意してください。 その情報は .lib 正しく呼び出すには、前もって知っておく必要があります(たとえばヘッダーファイルのプロトタイプなど)。

C++バイナリインタフェースにリンクされた関数の場合、呼び出し方法と引数は関数のエクスポートされた名前にエンコードされます("name mangling"とも呼ばれます)。 DUMPBIN /SYMBOLS は、quot;mangled" の関数名と、デコードされたパラメータのセットの両方を表示します。