跳转到内容

Ruby 编程/嵌入 Ruby

来自 Wikibooks,开放的书籍,开放的世界

嵌入 Ruby

[编辑 | 编辑源代码]

完整 Ruby

[编辑 | 编辑源代码]

您可以将 Ruby 嵌入您的其他 C 应用程序,尽管这有点棘手。

http://stackoverflow.com/questions/239315/how-to-embed-ruby-in-c

是一个很好的参考。最棘手的地方我认为您只能从应用程序的“main”线程运行它,否则它将无法正确执行其堆栈遍历以进行垃圾收集。对于 jruby 或 Rubinius 等,情况可能并非如此,对于 1.9 也可能并非如此(可能在那里工作)。

基本上,您可以在调用 init 后调用 ruby.h 中定义的任何“rb_”方法,它们都会返回一个 VALUE 对象(ruby 对象)。

请注意,您可以通过编写 C 扩展从 ruby 调用 C。这是标准做法。

mruby 是由 matz(原始 Ruby 开发人员)编写的 Ruby 1.9 的轻量级实现。它允许您在一个程序中运行多个 Ruby 副本,并且比完整的 Ruby 解释器更容易集成到其他软件中。它的 github 页面在这里

https://github.com/mruby/mruby

华夏公益教科书