[#10160] 1 >> 323232 — Tadayoshi Funaba <tadf@...>
ふなばです。
[#10168] [BUG] ruby-1.5.4 — Koji Arai <JCA02266@...>
新井です。
[#10170] sort_by — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
[#10197] Re: modulo and remainder — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
[#10217] exit status of child process — nagai@...
永井@知能.九工大です.
まつもと ゆきひろです
[#10226] 組み込み Ruby — Kazuhiro Yoshida <moriq.kazuhiro@...>
もりきゅうです。
まつもと ゆきひろです
もりきゅうです。
まつもと ゆきひろです
もりきゅうです。
まつもと ゆきひろです
もりきゅうです。
助田です。みんな悩みは同じ。:-)
まつもと ゆきひろです
助田です。
[#10238] date/date2 — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
ふなばです。
まつもと ゆきひろです
ふなばです。
[#10243] Re: Time#usec — ARIMA Yasuhiro <fit0298@...>
有馬です。
[#10271] uri — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
なひです.
[#10272] date/date2 — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
ふなばです。
まつもと ゆきひろです
ふなばです。
まつもと ゆきひろです
ふなばです。
[#10278] Re: environment variables — WATANABE Hirofumi <eban@...>
わたなべです.
なかだです。
なかだです。
なかだです。
小松です。
なかだです。
小松です。
なかだです。
小松です。
なかだです。
小松です。
なかだです。
まつもと ゆきひろです
なかだです。
まつもと ゆきひろです
なかだです。
小松です。
小松です。
なかだです。
小松です。
なかだです。
小松です。
なかだです。
小松です。
なかだです。
小松です。
なかだです。
小松です。
小松です。
なかだです。
小松です。
小松です。
なかだです。
小松です。
なかだです。
小松です。
なかだです。
小松です。
なかだです。
小松です。
まつもと ゆきひろです
なかだです。
小松です。
なかだです。
小松です。
なかだです。
小松です。
小松です。
なかだです。
小松です。
なかだです。
小松です。
なかだです。
わたなべです.
まつもと ゆきひろです
なかだです。
まつもと ゆきひろです
なかだです。
まつもと ゆきひろです
小林です。
小林です。
小林です。
小林です。
能條といいます.
なかだです。
なかだです。
まつもと ゆきひろです
なかだです。
まつもと ゆきひろです
小松です。
なかだです。
まつもと ゆきひろです
わたなべです.
なかだです。
わたなべです.
なかだです。
わたなべです.
なかだです。
わたなべです.
わたなべです.
なかだです。
わたなべです.
なかだです。
わたなべです.
[#10280] Ruby 1.4.5 ext/socket/socket.c — Katsuyuki Komatsu <komatsu@...>
小松です。
[#10282] Config::CONFIG.each_value in rbconfig.rb — WATANABE Hirofumi <eban@...>
わたなべです.
まつもと ゆきひろです
わたなべです.
まつもと ゆきひろです
[#10288] bignum division has bug? — Hiroshi IGARASHI <igarashi@...>
いがらしです。報告だけですみませんが…
[#10325] [REQ] print a warning message for overriding Object#__id__ — Hideto ISHIBASHI <hideto-i@...4u.or.jp>
石橋"rubyholic"秀仁です。こんにちは。
[#10337] [PATCH] $OBJEXT and $objs in mkmf.rb — Minero Aoki <aamine@...>
あおきです。
[#10338] should prohibit `module_function' for class Class — WATANABE Hirofumi <eban@...>
わたなべです.
[#10341] list and quit command in debug.rb — WATANABE Hirofumi <eban@...>
わたなべです.
[#10356] [REQ] Array#replace {} — Minero Aoki <aamine@...>
あおきです。
[#10384] ruby 1.4.6 preview — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
わたなべです.
[ruby-dev:10452] Re: environment variables
わたなべです.
nobu.nakada@nifty.ne.jp <nobu.nakada@nifty.ne.jp> writes:
:> 実際はマクロを使うので拡張ライブラリ側は Init_foo に引数を追
:> 加して, ruby_stubinit のようなものを呼ぶだけという変更ででき
:> ると思います. ruby 本体側はちょっと大変かも. でもやる価値は
:> あると思います.
:> #てゆうかすでに実験する気になっている.
:
: 公開するグローバル変数も全て一つの構造体に入れることになるん
:でしょうか。
rubystubs.h がだいたいこんな感じです.
struct Ruby_Stubs_Funcs {
...
void (*p_rb_check_type) _((VALUE,int));
...
};
struct Ruby_Stubs_Vars {
...
int *p_ruby_safe_level;
...
}
struct Ruby_Stubs {
int magic;
struct Ruby_Stubs_Funcs *funcs;
struct Ruby_Stubs_Vars *vars;
};
extern struct Ruby_Stubs *ruby_stubs_base;
#define rb_check_type (*ruby_stubs_base->funcs->p_rb_check_type)
...
#define ruby_safe_level (*ruby_stubs_base->vars->ruby_safe_level)
...
stubinit.c でこんな感じにして dln.c の init_fct を呼ぶところ
で &ruby_stubs を渡します.
struct Ruby_Stubs_Funcs ruby_stubs_funcs = {
...
rb_check_type,
...
};
struct Ruby_Stubs_Vars ruby_stubs_vars = {
...
&ruby_safe_level
...
};
struct Ruby_Stubs ruby_stubs = {
RUBY_STUBS_MAGIC,
&ruby_stubs_funcs,
&ruby_stubs_vars
};
拡張ライブラリ側はその引数で ruby_stubs_base に代入すれば完
了(ruby_stubinit()).
というわけで変更は ruby.h と dln.c だけでした. あとは追加だけ.
これの肝は Ruby_Stubs_{Funcs,Vars} のメンバーの順番で, 一度
決めたら絶対に他の移動しちゃいけないし, 追加するなら最後とい
う点です.
とりあえず Linux, Cygwin, mingw32 で動くことを確認してます.
試しに mingw32 で作った Win32API.so を cygwin 版 で require
もできました.
--
わたなべひろふみ