Open1

共有ライブラリメモ

haseyuyhaseyuy

ライブラリ

  • よく使用されるプログラムの共通部分を抜き出して、他のプログラムで利用できるようにしたもの
  • 静的ライブラリと共有ライブラリがある

静的ライブラリ

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

共有ライブラリ

  • プログラムの実行時にロードされて、複数のプログラム間で共有されるライブラリ

リンク

  • プログラムからライブラリ機能を呼び出すことをリンクと呼ぶ
  • スタティックライブラリとダイナミックリンクがある

スタティックライブラリ

  • プログラムの作成時に、あらかじめライブラリの機能をプログラムの本体に組み込む方法

ダイナミックリンク

  • プログラムの実行時に、ライブラリの機能を呼び出す方法

ldconfigコマンド

  • 共有ライブラリの検索パスが記述されている/etc/ld.co.confを参照し、/etc/ld.so.cacheを更新する
  • /etc/ld.so.cacheは、共有ライブラリの場所を検索するために使用されるファイル

lddコマンド

  • 共有ライブラリは、/libまたは/usr/libに配置されている
  • 必要なる共有ライブラリの確認
必要となる共有ライブラリの確認
$ ldd /bin/bash
	linux-vdso.so.1 (0x00007ffc07f8f000)
	libtinfo.so.6 => /lib64/libtinfo.so.6 (0x00007ffaf7403000)
	libdl.so.2 => /lib64/libdl.so.2 (0x00007ffaf71ff000)
	libc.so.6 => /lib64/libc.so.6 (0x00007ffaf6e3a000)
	/lib64/ld-linux-x86-64.so.2 (0x00007ffaf794e000)