20

LD_PRELOAD_PATH と LD_LIBRARY_PATH の違いは何ですか?

私は彼らが何をしているのか理解していますが、それらがどのように違うのかという詳細はわかりません。

http://en.wikipedia.org/wiki/Dynamic_linkerから

動的リンカーは、プログラムの実行中またはプログラムのリンク中に、その動作を変更するように影響を受ける可能性があります。この例は、さまざまな Unix 系システムのランタイム リンカのマニュアル ページで見ることができます。この動作の典型的な変更は、LD_LIBRARY_PATH および LD_PRELOAD 環境変数の使用です。これらの変数は、別の場所で共有ライブラリを検索し、そうでなければ存在しないライブラリをそれぞれ強制的にロードしてリンクすることにより、ランタイム リンク プロセスを調整します。

特に、LD_PRELOAD_PATH と LD_LIBRARY_PATH の両方を持つ Linux の違いに興味があります。

https://linuxgazette.net/issue48/tag/48.html

更新: この 1999 年の Linux Gazette 記事の著者は、受け入れられた回答の下にある 2013 年のコメントで、LD_PRELOAD_PATH は実際には存在しないと述べています。

4

2 に答える 2

28

LD_PRELOAD(not ) は、プログラムが必要とするかどうかにかかわらず、他のライブラリの前にロードされるLD_PRELOAD_PATH特定のライブラリ ( files ) のリストです。とにかくロードされたはずのライブラリをロードするときに検索するディレクトリLD_LIBRARY_PATHのリストです。Linuxでは、ダイナミック リンカーに影響を与えるこれらの環境変数やその他の環境変数の詳細について読むことができます。man ld.so

于 2013-02-05T19:20:43.910 に答える