0
私は実行可能ファイルを持っており、関数を呼び出します。このexeにリンクされている多くの静的ライブラリと動的ライブラリがあります。私はこの機能を提供するものを知る必要があります。どのライブラリ関数が存在するかを知る方法は?
私は実行可能ファイルを持っており、関数を呼び出します。このexeにリンクされている多くの静的ライブラリと動的ライブラリがあります。私はこの機能を提供するものを知る必要があります。どのライブラリ関数が存在するかを知る方法は?
あなたはこのように実行ファイルのfooが使用する共有ライブラリのリストを取得することができます。
ldd -v foo
このポスト:
How do I list the symbols in a .so file
は、内のシンボル(エクスポート機能)を一覧表示する方法について説明し共有ライブラリ。
がnm -C foo
同じコマンドでも、すべてのエクスポートされたシンボルの名前(関数名)で一覧表示されます:あなたのライブラリーを静的にリンクされている場合
は、それが実行可能ファイル自体の内部シンボルのリストに表示されます静的ライブラリ:
nm -C libasan.a
ライブラリの列挙を行うシェルスクリプトを構築して、それぞれの内部で必要な特定の機能を探したい場合があります。たとえば、sprintf()を提供する.aファイルを調べるには、
for x in *.a; do echo --- ${x} ---; nm -C $x | grep sprintf ; done