![]() |
![]() |
| 通常PC用 / 人気 更新 今日 カテ |
| 電子計算機 > ソフト > プログラミング > 言語 > C |
| Bionic libc |
| 辞書:電算用語の基礎知識 プログラミング用語編 (PTPROGY) |
| 読み:バイオニック-リブ-スィー |
| 外語:Bionic libc |
| 品詞:固有名詞 |
|
|
| 概要 |
AndroidはLinuxカーネルを用いているが、標準CライブラリはLinuxで一般的なglibc(GNU libc)ではなく、BSDのCライブラリを基にして開発された独自のものを用いている。
Bionic libcは、BSDライセンスで提供されている。
| 特徴 |
| 由来 |
Androidで独自の標準Cライブラリが採用した理由は二つある。
一つは、メモリーの限られる携帯機器で多くのプロセスが利用するため、コンパクトで、高速なものが必要となったためとされる。
スレッド機能(pthread)など重そうな機能も、高速かつコンパクトな独自の実装となっているとされる。
もう一つは、GPLをユーザースペースに伝搬させないため。
Googleは、GPLはカーネルまでに留め、それより上は原則としてBSDライセンス相当とする方針としている。
またglibcはLGPLだが、これを静的リンクしてしまうとLGPLが感染し、リバースエンジニアリング禁止がライセンス規約として不可となるなど、プロプライエタリーな環境では面倒な問題もある。
これを避けるため、BSDライセンスで提供されるBionic libcが用意された。
| 内容 |
Androidでは、ソースコードのルートに/bionicとしてディレクトリが存在する。
この直下には、libc libdl libm libstdc++ libthread_db linker という6つのディレクトリがある。
それ以外は主にThe Android Open Source Projectの作成したものだが、BSDライセンスとなっている。
また、mallocは、glibcと同様にパブリックドメインのdlmallocがベースとなっている。
| リンク |
| 通信用語の基礎知識検索システム WDIC Explorer Ver 7.04a (27-May-2022) Search System : Copyright © Mirai corporation Dictionary : Copyright © WDIC Creators club |