名 前
libc − Linux の 標 準 C ラ イ ブ ラ リ の 概 要
説 明
"libc" と い う 用 語 は 、 一 般 に は 「 標 準 C ラ イ ブ ラ リ 」 の 短 縮 表 現 と し て 使 わ れ て い る 。 標 準 C ラ イ ブ ラ リ は 、 全 て の C 言 語 プ ロ グ ラ ム (や 時 に は 他 の 言 語 の プ ロ グ ラ ム ) が 使 用 す る こ と が で き る 標 準 関 数 の ラ イ ブ ラ リ で あ る 。 い く つ か の 歴 史 的 な 理 由 (下 記 参 照 ) か ら 、 標 準 C ラ イ ブ ラ リ を 意 味 す る "libc" と い う 用 語 は Linux で は い く ら か 曖 昧 さ の あ る 用 語 と な っ て い る 。
glibc
Linux で 群 を 抜 い て
広 く 使 わ れ て
い る C ラ イ ブ ラ
リ は GNU C ラ イ ブ ラ
リ
http://www.gnu.org/software/libc/">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 の 活 動 の
元 々 の 動 機 と
は 裏 腹 に 、 (1997 年
に ) glibc 2.0 が リ リ ー
ス さ れ る 頃 ま
で に は 、 glibc は 明
ら か に Linux libc よ り
も 優 れ た も の
に な っ て お り
、 程 な く し て Linux
libc を 使 っ て い た
全 て の 主 要 な Linux
デ ィ ス ト リ ビ
ュ ー シ ョ ン が glibc
に 切 り 替 え た
。 こ の 切 り 替
え は か な り 以
前 に 行 わ れ た
の で 、 man−pages プ
ロ ジ ェ ク ト で
は も は や Linux libc の
詳 細 に 関 す る
記 載 に は 気 を
使 っ て い な い
。 し か し な が
ら 、 マ ニ ュ ア
ル ペ ー ジ に よ
っ て は Linux libc に 関
す る 情 報 の 名
残 、 特 に libc4 や
libc5 へ の 言 及 、
が 残 っ て お り
、 歴 史 を 見 る
こ と が で き る
。 他 の C ラ イ ブ
ラ リ あ ま り 広
く は 使 わ れ て
い な い が 、 Linux 用
の 他 の C ラ イ ブ
ラ リ が い く つ
か あ る 。 こ れ
ら の ラ イ ブ ラ
リ は 、 一 般 的
に は 、 機 能 と
メ モ リ ー 使 用
量 の 両 方 の 面
で glibc よ り 小 さ く
、 通 常 は 小 さ
な バ イ ナ リ を
作 成 す る こ と
を 目 的 と し て
お り 、 お そ ら
く 組 み 込 み Linux シ
ス テ ム 用 の 開
発 に 焦 点 を 当
て た も の で あ
る 。 こ の よ う
な ラ イ ブ ラ リ
と し て は 、
http://www.uclibc.org/">uClibc
http://www.fefe.de/dietlibc/">dietlibc
や http://www.musl-libc.org/">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.79 の 一 部 で あ る 。 プ ロ ジ ェ ク ト の 説 明 と バ グ 報 告 に 関 す る 情 報 は http://www.kernel.org/doc/man−pages/ に 書 か れ て い る 。