いうファイル名を付けるとまずいので注意してください。dependMakefileに依存関係を追加するためのファイルです。このファイルは必須ではありません。MANIFEST拡張ライブラリを構成するファイルのリストを記述します。MANIFESTとすることで作成することができます。便利なので用意しておいた方がよいでしょう。こともあるかもしれませんが、だいたいこのような構成になっています。fnmatch拡張ライブラリでは、実際に拡張ライブラリを作ってみることにしましょう。作成に必要な知識については、作例に沿う形で説明していきます。fnmatch(3)の機能を提供する拡張ライブラリを作ることにします。イブラリを利用するというのはリーズナブルな選択です。システムで標準で提供されています。対象となる文字列です。それ以外の値を返します。fnmatchとしてfnmatch(3)のマニュアルを参照してください。設計しなければいけません。レシーバを省略した形で呼ベるメソッド)を定義することにします。エラーの時は例外が発生する。拡張ライブラリの名前も単純にfnmatchとします。extconf.rb無事に設計も済んだ(?)ところで、extconf.rbを作成します。要な機能を提供するライブラリです。have_header(header)ヘッダファイルの存在をチェックする。"main")ライブラリと関数の存在をチェックする。nil)関数の存在をチェックする。create_makefile(target)Makefileを生成する。fnmatch.hが存在する場合はcreate_makefileでMakefileを作成しています。create_makefileの引数には拡張ライブラリの名前を指定します。endfnmatch.cさて、いよいよソースファイル本体を作成します。しれませんが、これで全部です。くなく難しそうだと思われていた方も、安心されたのではないでしょうか。}fnmatch.cでは次のような二つの関数を定義しています。f_fnmatch()f_fnmatch()はfnmatchメソッドの本体の処理を記述しています。いう慣習になっています。すべて、CではVALUEという型によって表現されます。換して処理を行うことになります。バで、残りの3つがメソッドの引数です。レシーバは利用しません。変換し、それらを引数としてfnmatch(3)を呼び出しています。これらはそれぞれRubyのtrue/falseを表します。値はそのままfnmatchメソッドの戻り値になります。rb_raise()によって例外を発生させています。いての情報として渡します。ローバル変数で、ruby.hで宣言されています。クトなので、VALUE型で表現されます。Init_fnmatch()Init_fnmatch()は拡張ライブラリの初期化を行う関数です。ーバル定数の定義です。ローバル関数風のメソッドの定義を行います。