ライブラリをロードするには、実行可能ファイルが最初に開きます/lib/ld-linux-x86-64.so.2
。共有ライブラリのロードに関するすべての機能 (多くのパスでの検索、rpath の使用など) は、これらの機能を実装しているld-linux
ため、ロードされた後にのみ機能します。ld-linux
場所は実行可能ファイルにハードコードされているように思えましたld-linux.so
(私の実行可能ファイルを呼び出すstrings
と、この理論が強化されます)。私の問題は、私の Linux ディストリビューションでは、コンパイラ (g++) がld-linux
場所を に設定すること/lib/ld-linux-x86-64.so.2
です。Ubuntu (より一般的) では、/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2
.
ld-linux.so
実行可能ファイルでat を検索できるかどうか疑問に思っていました/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2
(これは、私のディストリビューションにもシンボリック リンクとして存在します)。