port」の1つとしてお馴染みなんじゃないでしょうか。持ち出さなきゃいけないほど大規模な開発だけじゃないんですよね。使えると便利だったりするんです。暗いからなんですけどね(←!)。使ってみることにします。使い方を調べてみたところ,日本語のサイトでは詳しいサイトがあまりなかったりします。そこで,今回はライブラリの使い方(プログラムの書き方)を見る前に,「実際にどうやってビルドして使うのか」というところをみていこうと思います。ここでは,普通にインストールした時の場所に置いてあることにします。それぞれ入っているということですね。インストールとりあえず,何はともあれライブラリをインストールします。入れていたら大抵入っているので,改めてインストールすることもなかったりするわけですが......。入っていない場合はインストールしましょう。Parser」),以下のようにします。......いつもの方法なわけですが......。installこれで準備完了です。非常に簡単なサンプルインストールが終わったら,早速使ってみることにしましょう。簡単なサンプルを用意したのでこれをコンパイルしてみます。今回は,「なんとかビルドできるようになること」が目標なので,中身については細かく話せません......あしからず。ソースをば......。要素(element)を上から順番に表示するだけの単純なプログラムです。長く見えるのはエラーを拾っているからで,中身は薄っぺらです。して保存したことにします。ファイルを使ってもらって構いません。単純なものを用意しましょう。コンパイルとリンク無事保存できたら,コンパイルしてみましょう。普段からライブラリを使っている方には何でもないことなんですけれど,標準ライブラリ以外のライブラリを使うときって,案外難儀するんですよね......。ここではちょっと詳しく説明しておきます。ソースをコンパイルするときには,3段階の手順を踏むことになっています。ソースコード(*.c)からアセンブリファイル(*.s)を作るアセンブリファイル(*.s)からオブジェクトファイル(*.o)を作るオブジェクトファイル(*.o)をまとめて実行ファイルを作るといった段取りです。コマンドの上では,アセンブリファイルの出力をすっ飛ばしてオブジェクファイルを出力するので,作業の手間は通常2段階です。中の人が,内部でせっせこ作っているというわけ。オプションを使います。いいことですが......。コンパイルしてみるそんなわけで,今回のソースファイルを見てみましょう。ソースコードからオブジェクトファイルを作ります(手順1と2)。オブジェクトファイルというのは,ライブラリの本体を含まない断片的な機械語のことです。本体が組み込まれていません。組み込まれる予定」という印だけです。いえ,本体が組み込まれないとしても,印をつける必要はあります。印を付けるのに必要なのが,ライブラリのヘッダファイル(*.h)というわけです(注:ヘッダファイルの役割はそれだけじゃないけれど,ここではそういうことにしてください)。しているので,コンパイルするには,コンパイラ(gcc)がこのヘッダファイルを探せなくちゃいけません。通っていなくちゃいけないんです。インストールしていたのでした。オプションでコンパイラにヘッダファイルの在処を教えてあげましょう。オプションを使って以下のようにします。いうオブジェクトファイルができるはずです。「警告を全部表示しなさい」という意味です。リンクしてみる次に,できたオブジェクトファイルとライブラリをリンクします(手順3)。リンクというのは,断片のオブジェクトファイルどうしをくっつけて,1つの実行ファイルにすることです。静的にリンクすることにします。ちなみに,ライブラリファイルは(lib*.a),あらかじめコンパイルしてまとめてあるので,上のようにコンパイルする必要はありません。オプションでリンクしたいライブラリファイルを指定します。除いた部分を指定します。静的にリンクする場合は,"-static"オプションも指定しておきます(すっぽ抜けててごめんなさい)。通しておく必要があります。オプションでライブラリのある場所を教えてあげましょう。結局,まとめてコマンドにすると,次のようになります。オプションは,出力する実行ファイルの名前です。いうファイルができるのは,お馴染みですね。まとめて実行するここでは,ソースコードからオブジェクトファイルを作ってリンクしました。実は,今回のようにソースファイルが1つしかない場合は,まとめてリンクまで実行ことができます(ご存知の人が大多数でしょうが......)。やり方は,オプションをまとめて指定するだけ......。オプションは要りません。コンパイルできたことだし,実行することにしてみましょう。ファイルを読み込んで,要素(element)の名前を出力するというモノです。End!done.無事結果が出力されたら見事成功。ええ,今回はこれだけです。まとめなんだか,だらだらと長文になってしまいました......。説明というよりは,外部ライブラリの使い方が主だったので,致し方ありませんです。以外の外部ライブラリも比較的楽に扱えるんじゃないでしょうか。自分の頭で考えて作れるようになるはずです。使って簡単な設定ファイルを作ってみようと思います。思っているだけ......じゃなくて,作りますです。