回答:
静的ライブラリについて話していると仮定すると、ライブラリDUMPBIN /SYMBOLS
内の関数とデータオブジェクトが表示されます。インポートライブラリ(の話をしている場合は.lib
、DLLからエクスポートされたシンボルを参照するために使用される)、あなたはしたいですDUMPBIN /EXPORTS
。
「C」バイナリインターフェースにリンクされた関数の場合、これはまだ戻り値、パラメーター、または呼び出し規約を取得しないことに注意してください。その情報はでエンコードされていません.lib
。それらを正しく呼び出すためには、事前に(たとえば、ヘッダーファイルのプロトタイプを使用して)知っておく必要があります。
C ++バイナリインターフェースにリンクされた関数の場合、呼び出し規約と引数は、関数のエクスポートされた名前にエンコードされます(「名前の変換」とも呼ばれます)。 DUMPBIN /SYMBOLS
「マングルされた」関数名とデコードされたパラメーターのセットの両方が表示されます。
ar t libfile.a
UNIXのようなツールが欲しかった。
対応するウィンドウはlib.exe /list libfile.lib
です。
1)VS 2017(またはマシン上にある任意のバージョン)の開発者コマンドプロンプトを開きます(次の場所にあります:スタートメニュー->すべてのプログラム-> Visual Studio 2017(またはマシン上の任意のバージョン) -> Visual Studioツール-> VS 2017の開発者コマンドプロンプト。
2)次のコマンドを入力します。
dumpbin /EXPORTS my_lib_name.lib
他の回答で見ることができるように、Visual Studioのバージョンで提供されている開発者コマンドプロンプトを開く必要があります。 dumpbin.exe
に、実行パスに、があります。それ以外の場合は、必要な環境変数を手動で設定できます。
dumpbin /EXPORTS yourlibrary.lib
通常、シンボルのごく一部が表示されます。多くの場合、ライブラリがエクスポートする関数は表示されません。
dumpbin /SYMBOLS /EXPORTS yourlibrary.lib
そのシンボルだけでなく、他の非常に多くのシンボも表示されます。したがって、おそらくパイプfindstr
(MS-Windowsツールが必要な場合)、またはを使用してそれらをフィルタリングする必要がありますgrep
。
Static
これらのツールの1つを使用してキーワードを検索することは良いヒントのようです。