LIBC(7)

名前
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 (http://www.uclibc.org/) や dietlibc (http://www.fefe.de/dietlibc/) がある。 一般論としては、man-pages プロジェクトでは これらのライブラリの詳細はカバーされていない。

関連項目
syscalls(2), feature_test_macros(7), man-pages(7), standards(7)

この文書について
この man ページは Linux man-pages プロジェクトのリリース 3.51 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man-pages/ に書かれている。