summaryrefslogtreecommitdiff
path: root/README.EXT.jp
diff options
context:
space:
mode:
Diffstat (limited to 'README.EXT.jp')
-rw-r--r--README.EXT.jp48
1 files changed, 23 insertions, 25 deletions
diff --git a/README.EXT.jp b/README.EXT.jp
index 1d56f25..1cec213 100644
--- a/README.EXT.jp
+++ b/README.EXT.jp
@@ -505,7 +505,7 @@ Cの構造体へのポインタは変数svalに代入されます.
4.例題 - dbmパッケージを作る
ここまでの説明でとりあえず拡張ライブラリは作れるはずです.
-Rubyのextディレクトリにすでに含まれているdbmモジュールを例に
+Rubyのextディレクトリにすでに含まれているdbmライブラリを例に
して段階的に説明します.
(1) ディレクトリを作る
@@ -515,7 +515,7 @@ Rubyのextディレクトリにすでに含まれているdbmモジュールを例に
Ruby 1.1からは任意のディレクトリでダイナミックライブラリを作
ることができるようになりました.Rubyに静的にリンクする場合に
はRubyを展開したディレクトリの下,extディレクトリの中に拡張
-モジュール用のディレクトリを作る必要があります.名前は適当に
+ライブラリ用のディレクトリを作る必要があります.名前は適当に
選んで構いません.
(2) MANIFESTファイルを作る
@@ -542,14 +542,14 @@ MANIFESTというファイルは,静的リンクのmakeの時にディレクトリ
(4) Cコードを書く
拡張ライブラリ本体となるC言語のソースを書きます.C言語のソー
-スがひとつの時には「モジュール名.c」を選ぶと良いでしょう.C
-言語のソースが複数の場合には逆に「モジュール名.c」というファ
+スがひとつの時には「ライブラリ名.c」を選ぶと良いでしょう.C
+言語のソースが複数の場合には逆に「ライブラリ名.c」というファ
イル名は避ける必要があります.オブジェクトファイルとモジュー
-ル生成時に中間的に生成される「モジュール名.o」というファイル
+ル生成時に中間的に生成される「ライブラリ名.o」というファイル
とが衝突するからです.
-Rubyは拡張ライブラリをロードする時に「Init_モジュール名」と
-いう関数を自動的に実行します.dbmモジュールの場合「Init_dbm」
+Rubyは拡張ライブラリをロードする時に「Init_ライブラリ名」と
+いう関数を自動的に実行します.dbmライブラリの場合「Init_dbm」
です.この関数の中でクラス,モジュール,メソッド,定数などの
定義を行います.dbm.cから一部引用します.
@@ -575,7 +575,7 @@ Init_dbm()
}
--
-DBMモジュールはdbmのデータと対応するオブジェクトになるはずで
+DBMライブラリはdbmのデータと対応するオブジェクトになるはずで
すから,Cの世界のdbmをRubyの世界に取り込む必要があります.
@@ -627,7 +627,7 @@ fdbm_delete(obj, keystr)
の引数となります.
引数の数が不定のものはCの配列で受けるものとRubyの配列で受け
-るものとがあります.dbmモジュールの中で,Cの配列で受けるもの
+るものとがあります.dbmライブラリの中で,Cの配列で受けるもの
はDBMのクラスメソッドであるopen()です.これを実装している関
数fdbm_s_open()はこうなっています.
@@ -685,9 +685,13 @@ Cの大域変数は以下の関数を使ってRubyインタプリタに変数の存在
(5) extconf.rbを用意する
Makefileを作る場合の雛型になるextconf.rbというファイルを作り
-ます.extconf.rbはモジュールのコンパイルに必要な条件のチェッ
-クなどを行うことが目的です.extconf.rbの中では以下のRuby関数
-を使うことが出来ます.
+ます.extconf.rbはライブラリのコンパイルに必要な条件のチェッ
+クなどを行うことが目的です.まず,
+
+ require 'mkmf'
+
+をextconf.rbの先頭に置きます.extconf.rbの中では以下のRuby関
+数を使うことが出来ます.
have_library(lib, func): ライブラリの存在チェック
have_func(func): 関数の存在チェック
@@ -699,15 +703,9 @@ Makefileを作る場合の雛型になるextconf.rbというファイルを作り
$CFLAGS: コンパイル時に追加的に指定するフラグ(-Iなど)
$LDFLAGS: リンク時に追加的に指定するフラグ(-Lなど)
-モジュールをコンパイルする条件が揃わなず,そのモジュールはコ
-ンパイルしない時にはcreate_makefileを呼ばなければMakefileは
-生成されず,コンパイルも行われません.
-
-モジュールがRuby 1.1専用である場合には
-
- require 'mkmf'
-
-をextconf.rbの先頭に置くと便利でしょう.
+ライブラリをコンパイルする条件が揃わず,そのライブラリをコン
+パイルしない時にはcreate_makefileを呼ばなければMakefileは生
+成されず,コンパイルも行われません.
(6) dependを用意する
@@ -756,9 +754,9 @@ makeを実行するとMakefileを生成からmake,必要によってはそのモ
extconf.rbを書き換えるなどしてMakefileの再生成が必要な時はま
たRubyディレクトリでmakeしてください.
-動的リンクライブラリはmake installでRubyライブラリのディレク
-トリの下にコピーされます.もしモジュールと協調して使うRubyで
-記述されたプログラムがあり,Rubyライブラリに置きたい場合には,
+拡張ライブラリはmake installでRubyライブラリのディレクトリの
+下にコピーされます.もし拡張ライブラリと協調して使うRubyで記
+述されたプログラムがあり,Rubyライブラリに置きたい場合には,
拡張ライブラリ用のディレクトリの下に lib というディレクトリ
を作り,そこに 拡張子 .rb のファイルを置いておけば同時にイン
ストールされます.
@@ -1134,7 +1132,7 @@ extconf.rbの中では利用可能なコンパイル条件チェックの関数は以
create_makefile(target)
拡張ライブラリ用のMakefileを生成する.この関数を呼ばなければ
-そのモジュールはコンパイルされない.targetはモジュール名を表
+そのライブラリはコンパイルされない.targetはモジュール名を表
す.
/*