From: nobu.nakada@... Date: 2003-10-27T12:26:55+09:00 Subject: [ruby-list:38679] Re: C/C++ からメソッドを呼びたいのですが なかだです。 At Mon, 27 Oct 2003 12:18:47 +0900, kaori takahashi wrote: > 作成済みのインスタンスで、数十回メソッド呼出しを行うと、 > > (eval):15: [BUG] Segmentation fault > ruby 1.8.0 (2003-08-04) [sparc-solaris2.8] > でした。 バグです。 おそらくGC関係、Init_stack()が必要なのではないかと思いますが、 rb_funcall()などを呼んでいる関数を呼んでいる関数に追加してみて ください。引数は適当なローカル変数のアドレスで。 > > obj = rb_path2class("Sample"); > > c = rb_class_new_instance(1, &val, obj); > > > > のほうがいいかも。 > > > > c の値を外部変数に保存して使用していましたので > メソッドを呼び出す時に、毎回 rb_class_new_instanceを > 呼ぶようにしようと思ってます。 そのcはrb_gc_register_address()で登録してありますか。 -- --- 僕の前にBugはない。 --- 僕の後ろにBugはできる。 中田 伸悦