diff options
author | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 1999-03-24 08:52:35 +0000 |
---|---|---|
committer | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 1999-03-24 08:52:35 +0000 |
commit | 35247a52ef719584a59ae9c518523f0ee825c8e3 (patch) | |
tree | e14e2a884d3c40a86f93b8dcb4ec144f510fe35a /README.EXT.jp | |
parent | 1727010a3abf84fd06f0e44d44b1b8ef6cde588e (diff) |
990324
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_3@409 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'README.EXT.jp')
-rw-r--r-- | README.EXT.jp | 48 |
1 files changed, 23 insertions, 25 deletions
diff --git a/README.EXT.jp b/README.EXT.jp index 1d56f25501..1cec213d1f 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はモジュール名を表 す. /* |