How to embed Ruby in C++?

后端 未结 5 1596
滥情空心
滥情空心 2020-12-09 03:43

What\'s the best way to embed Ruby as a scripting language in C++? Using ruby.h? SWIG? Something else? What I need is to expose some C++ objects to Ruby and have the Ruby in

相关标签:
5条回答
  • 2020-12-09 04:17

    Rice is looking very promising.

    0 讨论(0)
  • 2020-12-09 04:20

    I've been working on Rarity (https://github.com/Plaristote/Rarity), which does two things:

    • Generates Ruby bindings from a YML description of your C++ API
    • Allows interaction with Ruby script in the most C++ fashion there is

    I've solved a good deal of question (exception handling, garbage collection)... I haven't seen anywhere else the code generation that Rarity uses to make your bindings come to life. I also haven't seen any other lib that allows such an easy conversion between C++ and Ruby types.

    I think Rarity's worth the shot ! And I'd be glad to have some feedback as well :) !

    0 讨论(0)
  • 2020-12-09 04:23

    You might wish to check out tinyrb.

    0 讨论(0)
  • 2020-12-09 04:24

    Ruby provides a very helpful README.EXT file. It has lots of information about how to extend Ruby, and convert between C & Ruby types.

    There is also this excerpt from the pick axe book which pretty much covers the same thing.

    In my case, when I added Ruby scripting to my application I decided against using swig, because my needs were very simple, and I didn't want to add yet another build dependency.

    0 讨论(0)
  • 2020-12-09 04:26

    swig is probablly the way to go..... but ruby doesnt embed too well......

    if you want a language that embeds nicely into C++, try lua

    0 讨论(0)
提交回复
热议问题