(1/3)BusyBoxとセットで使われることが多い、組み込みCライブラリ「uClibc」について解説する。});前回「『BusyBox』の設定とコンパイルを実践してみよう」では、BusyBoxの設定項目と静的リンクによるバイナリの構築・実行について説明しました。今回は、BusyBoxとともに組み込みLinuxでよく使われているライブラリ「uClibc」について解説していきます。扱う処理など、共通の処理がそれぞれに含まれています。そのような共通に利用可能な機能を取りまとめたものを「ライブラリ」といい、それぞれのプログラムがそのライブラリを利用することで、コードの再利用性を高め、開発の効率化やプログラムファイルサイズの縮小などを実現します(図1)。Library)」が使われています。glibcは豊富な機能を有しますが、その分“サイズが大きい”という欠点を持っています。組み込み機器でglibcを使おうとすると、glibcが提供している機能のうち一部しか使用していないのにもかかわらず、『貴重なディスクの多くがglibcで占有されてしまう』といった無駄が発生することになります......。そんな中、組み込み機器向けに開発されたCライブラリの1つが「uClibc」です(注1)。Unit)を持たないCPU向けのLinuxである「uClinux」用に開発されたもので(注2)、glibcを使って構築するプログラムをできるだけ修正なしにコンパイル可能にすることを目的として作られました。ちなみに、現在ではuClinuxだけでなく通常のLinuxでも利用できます。以下に、uClibcの特長を示します。glibcは少なくとも数“M”バイト程度の容量を必要とするのに対して、uClibcは数百“k”バイト程度とサイズが小さい必要な機能のカスタマイズが容易。不必要な機能を切り捨ててuClibc自体のサイズを最小化できるただし、制限として、glibcにある機能がすべて含まれているわけではないため、プログラムによってはそのままコンパイルできないものもあるuClibcのリリースバージョン間での互換性が保証されていないため、uClibcを利用するプログラムは、uClibcのバージョン変更時に再コンパイルが必要になるなどが挙げられるため、使用の際には注意が必要です。※注1:ほかに、組み込み向けCライブラリとして、「newlib」や「dietlibc」などがあります。※注2:「uClinux」および「uClibc」の頭に付く“uC”はそれぞれ、“u”→“μ”→“micro”、“C”→“controller”ということで、マイクロコントローラ向けであることを表しています。uClibcの設定について次に、uClibcの設定項目について見ていきたいと思います。はじめに、uClibcをダウンロードして展開してください。連載第1回「BusyBoxをクロスコンパイルする環境を構築しよう」の解説のとおりにクロスコンパイル環境を構築している場合は、作業ディレクトリに作成した“dl”ディレクトリ内に、“uClibc-0.9.29.tar.bz2”が存在するはずです。存在しないようであればuClibcのサイトから“uClibc-0.9.29.tar.bz2”をダウンロードしてください。続いて、作業ディレクトリで以下のコマンドを実行して、uClibcのフしァイルを展開し、“uClibc-0.9.29”ディレクトリに移動してください。実行すると、uClibcの設定画面が表示されます(画面1)。以下に、画面1の設定項目について示します(表1)。SNSfacebooktwitterITmediaはアイティメディア株式会社の登録商標です。