# ライブラリ ##### ライブラリとは || ライブラリ | 説明 || | 静的ライブラリ | ビルド時に実行ファイル内に組み込まれる\\  メリット:実行ファイルのみで動作できる。別環境で動作可能\\  デメリット:実行ファイルサイズが大きくなる | | 共有ライブラリ | プログラム実行時にロードされ、複数のプログラム間で共有される\\  メリット:実行ファイルサイズを小さくできる\\  デメリット:実行時に適切に設置されたライブラリが必要 | ##### リンクとは || リンク | 説明 || | スタティックリンク | ビルド時にライブラリの機能を実行ファイルに組み込む。\\ この時に組み込まれるライブラリが静的ライブラリ | | ダイナミックリンク | 実行時にライブラリを呼び出す。\\ この時に呼び出されるライブラリを共有ライブラリ | ##### 共有ライブラリの確認 一般的に「/lib」または「/usr/lib」に配置されている。 ファイル名は「libxxx.so~」の形式が多い 実行ファイルが必要とする共有ライブラリは「ldd」コマンドで確認できる。 ##### 共有ライブラリの検索 上記のように、一般的には「/lib」または「/usr/lib」に共有ライブラリを配置する場合には、追加で操作は不要となる。 ただし、それ以外の場所に配置する場合には、配置場所のパスを設定する必要がある。 パスの設定方法は2通りある。 1.「/etc/ld.so.conf」ファイルに設定(永久設定) $ sudo vi /etc/ld.so.conf # 配置したディレクトリの絶対パスを記載する $ ldconfig # .etc/ld.so.cacheを更新 2.環境変数「LD\_LIBRARY\_PATH」の設定(一時設定) $ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:<設定したいディレクトリ>