2009-06-29 17 views

答えて

94
  • のMac OS X:otool-Lファイル
  • のLinux:lddファイル

これらのコマンドは、Mac OS X上であなたは、欲しいものを提供していない場合は、すべてのダンプすることができますotool-lファイルでロードコマンドを実行します。 Linuxでは、動的セクションの内容全体をreadelf-dファイルでダンプできます。

+0

うわー!それは素晴らしい作品です!どうもありがとうございます! – Viet

+1

静的ライブラリはどうですか? 'otool -L'を試しましたが、ライブラリを構築するために使われる.oファイルの束がリストされています。 –

+0

@ user3055655:リンク時に動的ライブラリの依存関係が作成されます。静的アーカイブライブラリはまだリンクされていないため、動的ライブラリの依存関係はありません。 – mark4o

6

端末でtry ldd。これはバイナリが必要とする動的ライブラリのリストを提供します。

+0

すぐにお返事ありがとうございます! ldd/path/to/executable_or_dylib と冗長バージョン: ldd -v/path/to/executable_or_dylib – Viet

+1

実行ファイルは完全に実行されます。 Ubuntu 9.04でldd aDynamicLib.soを実行すると、「動的ではない実行可能ファイル」と表示されます。どのように.soファイルの依存関係を発見するのですか?前もって感謝します! – Viet

9

MacOS X上でotoolのUIを置き換えるMacDependency(http://macdependency.googlecode.com)を試すこともできます。完全な依存関係ツリーとエクスポートされたシンボルも表示されます。

+0

ありがとうKonrad!私はそれを試してみましょう。 – Viet

関連する問題