From: EMOTO Masahiko Date: 2003-06-04T20:22:32+09:00 Subject: [ruby-list:37749] rb_ary_push 現在アプリケーション側から ruby の機能を呼び出す プログラムを作成しているのですが、うまく動きません。 rb_ary_push をしているところで、SIGSEV で落ちてしまいます。 >Program received signal SIGSEGV, Segmentation fault. >st_lookup (table=0x2, key=0xbc9
, > value=0xbfffdee8) at st.c:253 >253 hash_val = do_hash(key, table); >Current language: auto; currently c やっていることは配列の配列オブジェクトを生成で、 以下が単純化したソースです。 プログラム中で配列の大きさ(サンプルではN、M)が小さい時は 動作するのですが、大きくすると落ちてしまいます。 これはどのような制限によるものなのでしょうか? また、解決法がありましたら教えてください。 江本 使用環境: Linux Kernel 2.4.20 GCC 2.96 Ruby 1.6.8 > #include > > const int N=1000; > const int M=1000; > int > main() > { > int i,j; > VALUE ary,ary2; > ruby_init(); > ruby_init_loadpath(); > ary = rb_ary_new(); > for(i=0;i ary2 = rb_ary_new(); > for(j=0;j rb_ary_push(ary2,rb_float_new((double )i)); > rb_ary_push(ary,ary2); > } > } > } >