libc - Linux の標準 C
ライブラリの概要
"libc"
という用語は、一般には「標準
C
ライブラリ」の短縮表現として
使われている。標準 C
ライブラリは、全ての
C 言語プログラム
(や時には他
の言語のプログラム)
が使用することができる標準関数のライブラリである。
いくつかの歴史的な理由
(下記参照) から、標準 C
ライブラリを意味する
"libc" という用語は Linux
ではいくらか曖昧さのある用語となっている。
glibc¶
Linux
で群を抜いて広く使われている
C ライブラリは GNU C
ライブラリ
http://www.gnu.org/software/libc/
であり、しばしば
glibc
と
呼ばれる。全ての主要な
Linux
ディストリビューションで現在使われている
C ライブラリである。
この C
ライブラリの詳細が
man-pages
プロジェクトの一連のページ
(主にマニュアルのセクション
3) に記載されている。
glibc のドキュメントは glibc
のマニュアルにもあり、
info libc
コマンドで参照できる。
glibc リリース 1.0 は 1992 年 9
月に作成された
(それ以前に 0.x リリース
があった)。glibc
の次のメジャーリリースは
2.0 であり、1997
年の初頭にリリースされた。
パス名
/lib/libc.so.6
(もしくは同様のパス名)
は、通常は glibc
ライブラリがある場所を指すシンボリックリンクである。
このパス名を実行すると、glibc
はシステムにインストールされた
バージョンの glibc
に関する様々な情報を表示する。
Linux libc¶
1990
年代の初めから中頃にかけて、しばらくの間
Linux libc が存在した。 Linux libc
は、glibc 1.x
から分かれたもので、当時の
glibc の開発が Linux
の要望を満たしていないと感じたLinux
開発者が作成した。しばしば、
このライブラリは
(分かりにくいが) 単に
"libc"
と呼ばれていた。Linux libc
はメジャーバージョン
2, 3, 4, 5
がリリースされた(各リリースには多
くのマイナーバージョンもあった)。しばらくの間、
Linux libc は多くの Linux
ディストリビューションの標準
C
ライブラリであった。しかしながら、
Linux libc
の活動の元々の動機とは裏腹に、glibc
2.0
がリリースされる頃ま
でには、glibc は明らかに
Linux libc
よりも優れたものになっており、
程な くして Linux libc
を使っていた全ての主要な
Linux
ディストリビューション
が glibc に切り替えた。
(この切り替えは 10
年以上前に行われたので、
man-pages
プロジェクトではもはや
Linux libc
の詳細に関する記載には
気を使っていない。しかしながら、マニュアルページによっては
Linux libc
に関する情報の名残、特に
libc4 や
libc5
への言及、が残っており、
歴史を見ることができる。)
他の C ライブラリ¶
あまり広くは使われていないが、Linux
用の他の C
ライブラリがいくつかある。
これらのライブラリは、一般的には、機能とメモリ使用量の両方の面で
glibc
より小さく、通常は小さなバイナリを作成することを目的としており、
おそらく組み込み Linux
システム用の開発に焦点を当てたものである。
このようなライブラリとしては、
uClibc
dietlibc
や
musl
libc がある。
一般論としては、
man-pages
プロジェクトでは、これらのライブラリの詳細はカバーされていない。
関連項目¶
syscalls(2),
getauxval(3),
proc(5),
feature_test_macros(7),
man-pages(7),
standards(7),
vdso(7)
この文書について¶
この man ページは Linux
man-pages
プロジェクトのリリース
3.65 の一部
である。プロジェクトの説明とバグ報告に関する情報は
http://www.kernel.org/doc/man-pages/
に書かれている。