タグ

c++とrubyに関するurza358のブックマーク (2)

  • (Cではなく)C++でRubyの拡張ライブラリを作るには - tuedaの日記

    CでRubyの拡張ライブラリを作る方法はいくらでものっているのに、調べてもC++で作る方法が全然見つからなかったので自分で書く事にする。 ようはC++で定義したクラスとそのメンバー関数をRubyから使えるようにしたい。 第1部は普通のグローバル関数をRubyから使えるようにする。 第2部はクラスとそのメンバー関数をRubyから使えるようにする。 第3部はrbplusplusを使って処理を自動化する すべてのクラス、関数を手で書くと結構大変なので、実際には第3部で紹介する rbplusplus を使って自動で処理する事になると思うが、 そうは言っても中で何をやっているのか知っておかないと気持ち悪いので第1部、第2部も書いた。 自動処理のためのツールには他にもswigがあるが、今なら多分rbplusplusの方を使った方が良い。

  • Ruby Programing with SWIG

    はじめに Rubyと同じく、C++もクラスをもっています。 SwigをつかえばC++のクラスをそのままRubyのクラスにすることができます。 SwigのドキュメントにC++の章がありますので、 まずはそちら "5 SWIGとC++" を読みましょう。 C++で書かれたあるソフトをswigを利用してラップする場合、 インストールされるヘッダーファイルがたいへん役に立ちます。 運が良ければそのヘッダーファイルがそのまま使えますが、 多くの場合多少変更が必要となります。 ここでは、 C++で書かれたソフトをラップする際に必要ないくつかの変更の解説を行います。 まずはヘッダーファイルをそのまま使ってみよう とりあえずヘッダーファイルをそのまま使ってみましょう。 そのままで問題なくコンパイルでき、かつ使えたあなたは幸運です。 だめな場合でもエラーメッセージがとても重要な情報となります。 以下のように

  • 1