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
In the early to mid 1990s, there was for a while Linux libc, a fork of glibc 1.x created by Linux developers who felt that glibc development at the time was not sufficing for the needs of Linux. Often, this library was referred to (ambiguously) as just "libc". Linux libc released major versions 2, 3, 4, and 5, as well as many minor versions of those releases. Linux libc4 was the last version to use the a.out binary format, and the first version to provide (primitive) shared library support. Linux libc 5 was the first version to support the ELF binary format; this version used the shared library soname libc.so.5. For a while, Linux libc was the standard C library in many Linux distributions.

However, notwithstanding the original motivations of the Linux libc effort, by the time glibc 2.0 was released (in 1997), it was clearly superior to Linux libc, and all major Linux distributions that had been using Linux libc soon switched back to glibc. To avoid any confusion with Linux libc versions, glibc 2.0 and later used the shared library soname libc.so.6.

Since the switch from Linux libc to glibc 2.0 occurred long ago, man-pages no longer takes care to document Linux libc details. Nevertheless, the history is visible in vestiges of information about Linux libc that remain in a few manual pages, in particular, references to libc4 and libc5.

  他の C ライブラリ
あまり広くは使われていないが、Linux 用の他の C ライブラリがいくつかある。 これらのライブラリは、一般的には、機能とメモリー使用量の両方の面で glibc より小さく、通常は小さなバイナリを作成することを目的としており、 おそらく組み込み Linux システム用の開発に焦点を当てたものである。 このようなライブラリとしては、 uClibc (http://www.uclibc.org/) dietlibc (http://www.fefe.de/dietlibc/) や musl libc (http://www.musl-libc.org/) がある。 これらのライブラリの詳細も、知られていれば、 man-pages プロジェクトでカバーされる。

関連項目
syscalls(2), getauxval(3), proc(5), feature_test_macros(7), man-pages(7), standards(7), vdso(7)

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