意識の高い覚書ブログ

最近流行りの意識高いブログです。

ライブラリの仕組み

ライブラリ:

 →静的ライブラリ:プログラムのコンパイル時にファイル内に組み込まれる。(lib~.aのような名前)

 →共有ライブラリ:複数のプログラムで共有(lib~.so~のような名前)

 

ldd [ コマンド ]: 使用している共有ライブラリを確認

(例): ldd /bin/ls

/usr/lib/arm-linux-gnueabihf/libcofi_rpi.so (0xb6f8d000)
libselinux.so.1 => /lib/arm-linux-gnueabihf/libselinux.so.1 (0xb6f5c000)
librt.so.1 => /lib/arm-linux-gnueabihf/librt.so.1 (0xb6f4d000)
libacl.so.1 => /lib/arm-linux-gnueabihf/libacl.so.1 (0xb6f3e000)
libgcc_s.so.1 => /lib/arm-linux-gnueabihf/libgcc_s.so.1 (0xb6f16000)
libc.so.6 => /lib/arm-linux-gnueabihf/libc.so.6 (0xb6de6000)
/lib/ld-linux-armhf.so.3 (0xb6f9a000)

 

共有ライブラリの検索順:

1. /etc/ld.so.cache(ld.so.confをldconfigした結果)

2. LD_LIBRARY_PATH

3. /lib/,/usr/lib