这个想法来源于@penpen跟我说他在objective-C里面调用ruby的代码和gem包,然后我觉得也挺好玩的~就去试了一下
嵌入RubyVM
这一步比较简单
加载gem包
ruby_script(“embedded”)
rb_require(“rubygems”);
这两句是确保ruby环境能够加载gem包
编译方法
rbenv编译动态链接库
rbenv默认不会生成.so的动态链接库文件,只会生成.a的静态文件,所以需要重新编译ruby
参考这篇文章rbenv/ruby-build and shared libraries (libruby.so)
一定要放在一行里面运行