20

将 Ruby 作为脚本语言嵌入到 C++ 中的最佳方法是什么?使用 ruby​​.h?痛饮?还有什么?我需要向 Ruby 公开一些 C++ 对象,并让 Ruby 解释器评估访问这些对象的脚本。我不在乎扩展 Ruby 或在 C++ 中访问它。

我发现了这篇关于在 C++ 中嵌入 Ruby 的文章,虽然它非常有用,但它有点老了,我想知道是否有关于该主题的任何其他资源(或类似引擎的开源实现)。

4

5 回答 5

11

赖斯看起来很有希望。

于 2008-10-27T16:01:45.827 回答
6

Ruby 提供了一个非常有用的 README.EXT 文件。它有很多关于如何扩展 Ruby 以及在 C 和 Ruby 类型之间转换的信息。

也有摘自斧头书的摘录,几乎涵盖了相同的内容。

就我而言,当我将 Ruby 脚本添加到我的应用程序时,我决定不使用 swig,因为我的需求非常简单,而且我不想再添加另一个构建依赖项。

于 2009-02-21T20:12:13.800 回答
5

swig 可能是要走的路……但是 ruby​​ 嵌入得不是很好……

如果您想要一种可以很好地嵌入到 C++ 中的语言,请尝试 lua

于 2008-10-27T08:49:22.923 回答
2

您可能希望查看tinyrb

于 2009-02-21T21:15:34.617 回答
1

我一直在研究 Rarity ( https://github.com/Plaristote/Rarity ),它做了两件事:

  • 从 C++ API 的 YML 描述生成 Ruby 绑定
  • 允许以大多数 C++ 方式与 Ruby 脚本进行交互

我已经解决了很多问题(异常处理、垃圾收集)……我在其他任何地方都没有见过 Rarity 用来让你的绑定变得生动的代码生成。我还没有看到任何其他库允许在 C++ 和 Ruby 类型之间进行如此简单的转换。

我认为瑞瑞值得一试!我也很高兴收到一些反馈:)!

于 2014-08-20T16:35:09.343 回答