How to embed Ruby in C++?

倾然丶 夕夏残阳落幕 提交于 2019-11-28 07:32:28

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

Avdi

Rice is looking very promising.

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.

You might wish to check out tinyrb.

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 :) !

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!