我嘗試瞭如何從編程Ruby書中嵌入Ruby解釋器的例子。但它仍然不起作用。我已經使用RVM安裝了Ruby。在C中嵌入一個Ruby解釋器,SIGSEGV
我的源文件:https://gist.github.com/1635374
的Ruby版本:
紅寶石頭文件的$ ruby -v
ruby 1.9.2p290 (2011-07-09 revision 32553) [i686-linux]
地點:
Ruby庫的$ locate ruby.h
...
/home/matej/.rvm/rubies/ruby-1.9.2-p290/include/ruby-1.9.1/ruby.h
/home/matej/.rvm/rubies/ruby-1.9.2-p290/include/ruby-1.9.1/ruby/ruby.h
...
地點:
$ locate libruby.so.1
/home/matej/.rvm/rubies/ruby-1.9.2-p290/lib/libruby.so.1.9
/home/matej/.rvm/rubies/ruby-1.9.2-p290/lib/libruby.so.1.9.1
品牌:
$ make
cc -I/home/matej/.rvm/rubies/ruby-1.9.2-p290/include/ruby-1.9.1/ -I/home/matej/.rvm/rubies/ruby-1.9.2-p290/include/ruby-1.9.1/i686-linux/ -g -c -o embed2.o embed2.c
cc -o embed2 embed2.o -shared -L/home/matej/.rvm/rubies/ruby-1.9.2-p290/lib -ldl -lruby1.9
運行程序:
$./embed2
導致SIGSEGV。
你能幫我找一下,問題在哪裏?提前致謝。
你有沒有試過gdb來找出它實際崩潰的地方? – hopia 2012-01-18 21:02:16