How can I call C++ functions from within ruby


I am an experienced C/C++ developer but I am a novice in Ruby.

How can I call a C++ function from with in Ruby?

9/24/2013 12:52:00 AM

You have 3 possibilities :

1) Ruby is able to load libraries. Even if it is a bit tricky, you can decide to write your own loader and bind your C++ library in Ruby. This is done using what is called an extension module. You will find a comprehensive tutorial here:

2) You can use a tool that will generate the Ruby wrapper around your C++ library. Look at SWIG for example ( You just have to create a file in a swig-specific syntax and provide it to SWIG. It will then be able to generate the wrapper for many languages, Ruby included.

3) You can choose to use a middleware, such as CORBA/ICE/whatever. It may be a bit overkill if you only want to call some C++ functions, but it will allow you to remote call the functions, or "hide" a grid behind the middleware.

10/9/2009 8:24:51 AM

Licensed under: CC-BY-SA with attribution
Not affiliated with: Stack Overflow