Linuxでのso(Shared Object)の参照順
0.改訂履歴
- 2002.08.27 新規作成
1.はじめに
このドキュメントでは,Linuxでの共有オブジェクトの参照順について説明する.
2.共有オブジェクトの読み込み順序
- Linuxを初めとする,近年のOSでは,プログラム実行時などに共有ライブラリを読み込む.
- WindowsでいうところのDLLファイルである.
- UNIXの世界では,Shared Object(so)と呼ばれ,拡張子が.soとなっている.
- Linuxでは,以下の順番でsoを読み込む.
順番 | 説明 |
---|---|
1
|
環境変数LD_PRELOADで指定されたもの. |
2
|
環境変数LD_LIBRARY_PATHで指定されたもの. |
3
|
/etc/ld.so.cacheで示されているライブラリ. |
4
|
/usr/libにあるライブラリ |
5
|
/libにあるライブラリ. |
- この読み込み順を考慮した上で,ライブラリを配置する事で,動的リンクしたいライブラリを制御する事が出来る.