共有ライブラリの管理

【ライブラリ】

ライブラリとは、よく使われる機能をまとめ、他のプログラムから利用できるようにしたもの。

静的ライブラリ
プログラムの作成時にその実行ファイル内に組み込まれるライブラリ。

共有ライブラリ
プログラムの実行時にロードされ、複数のプログラム間で共有されるライブラリ。
「/lib」、「/usr/lib」に配置される。
「lib~.so~」という名前がつけられる。



【リンク】

プログラム本体からライブラリの機能(関数)を呼び出して利用すること。

スタティック(静的)リンク
コンパイルをする時点で、コンパイラがライブラリから機能を取り出し、実行ファイル内に埋め込む。
よく使われるライブラリの機能が、様々な実行ファイル内に重複して入ってしまう。

ダイナミック(動的)リンク
実行ファイルへライブラリの機能を埋め込むことはせず、実行時にライブラリの機能を呼び出す。
ダイナミックリンクによって呼び出されるライブラリを共有ライブラリという。




【コマンド】

ldd
プログラムで必要なライブラリを検索、表示する。

ldconfig
ライブラリ名とライブラリが格納されているディレクトリ名の対応が記述されている、「/etc/ld.so.conf」ファイルを参照し、その対応が記述された共有ライブラリキャッシュファイルである「/etc/ld.so.cache」ファイルを作成する。
ldconfigコマンドを使用するのは、「共有ライブラリに変更を加えたとき」となる。

ldd、ldconfigコマンドで標準的に検索される場所
 コマンドライン
 環境変数「LD_LIBRARY_PATH」で指定されたライブラリ
 「/etc/ld.so.conf」ファイルで指定されたライブラリ
 共有ライブラリが置かれているディレクトリ(「/usr/lib」、「/lib」)



【環境変数】

LD_LIBRARY_PATH
それぞれのユーザがファイルを実行する際に、共有ライブラリに組み込むディレクトリを格納したもの。それぞれのユーザ固有の設定となる。
環境変数の設定は、一般ユーザでも行える。


最終更新:2011年08月19日 13:25
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。
添付ファイル