代码之家  ›  专栏  ›  技术社区  ›  Firas Assaad

如何在C++中嵌入Ruby?

  •  20
  • Firas Assaad  · 技术社区  · 17 年前

    将Ruby作为脚本语言嵌入C++的最佳方式是什么?使用ruby?SWIG?还有别的吗?我需要的是将一些C++对象暴露给Ruby,并让Ruby解释器评估访问这些对象的脚本。我不关心扩展Ruby或用C++访问它。

    我找到了这个 article on embedding Ruby in C++ ,虽然它非常有用,但它有点旧了,我想知道是否有关于这个主题的其他资源(或类似引擎的开源实现)。

    5 回复  |  直到 16 年前
        1
  •  11
  •   Sasha Chedygov    10 年前

    Rice 看起来很有希望。

        2
  •  6
  •   hyperlogic    16 年前

    Ruby提供了一个非常有用的README。EXT文件。它有很多关于如何扩展Ruby以及如何在C&Ruby类型。

    还有这个 excerpt pick axe book 这几乎涵盖了同样的事情。

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

        3
  •  5
  •   Keith Nicholas    17 年前

    swig可能是正确的选择。……但红宝石嵌入得不太好。.....

    如果你想要一种能很好地嵌入C++的语言,试试lua

        4
  •  2
  •   oylenshpeegul    16 年前

    您可能希望查看 tinyrb .

        5
  •  1
  •   user3387633    11 年前

    我一直在为Rarity工作( https://github.com/Plaristote/Rarity ),它做两件事:

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

    我已经解决了很多问题(异常处理、垃圾回收)。.. 我在其他任何地方都没有看到Rarity用来使绑定变为现实的代码生成。我也没有看到任何其他库允许在C++和Ruby类型之间进行如此简单的转换。

    我认为Rarity值得一试!我也很乐意得到一些反馈:)!

    推荐文章