2010-04-16 77 views
3

我正在學習Ruby,我開始使用C語言構建擴展。我有編程Ruby實用程序員指南,所以我可以遵循這些基本知識點和螺栓。我想知道的是,是否已經存在一些漂亮的框架/什麼來幫助Ruby和其他語言之間的互操作性,C++對我來說是最重要的。我試過Google搜索,但結果集中在語言比較上,而不是語言互操作性。什麼是混合Ruby和其他語言的最佳方式? (特別是C++)

TIA,

安迪

+0

有cplus2ruby(http://rubyforge.org/projects/cplus2ruby/),雖然我不能深入地評論它的有用性,但我會把它留給紅寶石專家... – ChristopheD 2010-04-16 22:43:21

+0

非常有趣,我會肯定要玩一下,謝謝! (SWIG的優勢在於可以使用許多不同的腳本語言......哦,決定,決定!) – Andy 2010-04-17 13:52:11

回答

1

看看SWIG。這是將C和C++程序與其他使用高級語言編寫的程序集成的一個很好的框架。它最初是爲了支持Python,TCL和Perl而編寫的,但現在已經擴展到支持Ruby。

+0

謝謝,這看起來非常有用。 – Andy 2010-04-17 13:12:28

+0

PS無法爲您的答案投票。我覺得這整個聲譽真的很有趣 - 它就像一個RPG和XP!現在什麼時候可以得到魔法導彈? – Andy 2010-04-17 13:53:56

0

如果你想使用Ruby與Java,然後看看JRuby。它是Ruby的Java實現,並允許您通過Ruby調用Java庫/代碼。

http://jruby.org/

+0

謝謝。我聽說過它,但沒有看到它。我想我可能想用它來運行我的Ruby代碼(需要調查優點和缺點),但我不認爲我想在Java中進行我的擴展。這主要是因爲性能的原因,我會做其他的語言擴展,而且我最喜歡C++ ...... – Andy 2010-04-17 13:45:09

0

FFI是掛鉤的Ruby實現高達C庫的推薦方法,但有點谷歌搜索表明,這可能會無法正常工作,是一個用C++,所以嘗試痛飲。有一個FFI-SWIG的東西here

+0

謝謝,有趣。從一眼就可以看出它的巨大優勢是我可以用任何方式製作與Ruby無關的C庫(不包括ruby.h,rb_define_class等),並使用它們與它們進行交互。很不錯,但不完全是我在這種情況下尋找的。再次感謝。 – Andy 2010-04-17 13:39:45

相關問題