2009-11-29 6 views

答えて

9

リンカー。 * nixリンカーはldと呼ばれます。動的ライブラリを持つプログラムがリンクされている場合、リンカは静的にリンクされていないシンボルを解決するための動的ライブラリを探すための追加コードを追加します。通常、このコードは/ libと/ usr/libを探します。 LD_LIBRARY_PATHは、検索する他のディレクトリのコロンで区切られたリストです。

"ldd"は、ライブラリがどこにあるかを調べるのに便利なプログラムです:try "ldd/bin/ls"など。

「ローダー」という意味もあります。 ;-)

社説:(半)面白いサイドノートとして

:私は動的ライブラリはいつか消えると思います。ディスクスペースとシステムメモリが不足していたときに必要でした。シンボルを使用するとパフォーマンスが低下します(シンボルを解決してオブジェクトコードを編集する必要があります)。現代の3GBメモリと7秒の起動時間では、静的リンクに戻ることが適切な場合があります。

すべてのC++プログラムが魔法のように3MBになるという事実を除いて。 ;-)

+0

と呼ばれるいくつかの時間を表してどうもありがとうございました:最近のLinuxシステム上のD –

+2

リンカ自体は、おそらくになります/lib/ld-linux.so .2またはそれに似たもの。パラメータを指定せずにコマンドラインから実行すると、小さなヘルプメッセージが表示されます。 – bdk

+1

私は動的なライブラリがどこにも存在しないと思っています.1つの.soファイルを置き換えてセキュリティホールにパッチを当てること、問題のライブラリを使用しているOSのすべてのアプリケーションを再構築することは非常に役に立ちます。 – bdonlan

2

LD_LIBRARY_PATHは - LOADライブラリパスまたはLOADERライブラリパス

関連する問題