質問: 共有ライブラリの関数のリストを取得しますか? 共有オブジェクトライブラリで定義されている関数のリストを取得したり、特定の関数が定義されているかどうかを確認するにはどうすればよいですか?
回答: * nixシステムにはさまざまな実行可能ファイル形式があります。 a.outは数年前には一般的な形式でしたが、今日では近くのすべての主要システムでelfが使用されています。elfは、各ファイルデータセクションを記述するヘッダーで構成されます。あなたが探しているのは、各シンボル(関数、変数)がそのアドレスにマッピングされているシンボルテーブルです。共有ライブラリは、.dynsymというセクションにグローバルシンボルを保持します探しているのは、このセクションの関数型のシンボルとグローバルバインディングです。readelf --syms ./libfoo.soは、シンボルの出力を提供します。solarisとfreebsdではelfdumpも利用できます。objdumpはオブジェクトファイルに関する多くの情報も表示し、-jスイッチを使用してセクションを指定できます。