ruby-c-extension

    3

    2答えて

    グラフ理論操作のための良いCライブラリはありますか?特に、有向グラフのstrongly connected componentsを計算する必要があります。 def strongly_connected_components graph @index, @stack, @indice, @lowlink, @scc = 0, [], {}, {}, [] @graph = g

    0

    1答えて

    CentOSサーバー上で動作するC(C++ライブラリ付き)プログラム用のRuby拡張を作成したいのですが、Macで作業する方が便利です(特に、サードパーティのライブラリをすべて再インストールする必要はありません)。 UNIXベースのので、OS Xでライブラリを作成するとCentOSに入れてしまいますか、まあまあインストールしてCentOSをインストールしておきますか? ありがとうございます!

    4

    1答えて

    Ruby用のC++拡張をコンパイルしようとしていますが、コンパイルでエラーが返されませんが、正しくコンパイルされていないようです。私は間違って何をしていますか? 私はメインのCPPスクリプトfoo.cppあります #include <iostream> #include <ruby.h> extern "C" VALUE cFoo; void Init_foo(){cFoo = rb_d

    1

    1答えて

    RubyのC++拡張を記述し、Ruby配列オブジェクトからRuby文字列オブジェクトを抽出しようとしています。 C/C++文字列オブジェクト。 #include <iostream> #include <ruby.h> VALUE bar_func(VALUE self, VALUE ary){ std::string s = StringValuePtr(rb_ary_entry

    1

    1答えて

    C++ std::stringオブジェクトをRuby VALUEオブジェクトに変換するにはどうすればよいですか? 私はrb_str_new2(c_string)を試しましたが、動作しませんでした。 私は関数に VALUE foo(){return rb_str_new2(c_string);}; を持っており、それはエラーメッセージを与える: cannot convert ‘std::stri

    1

    1答えて

    私はclang-cライブラリ用のルビモジュールを作成し始めました。私はこのような訪問者と私の打ち鳴らすのCモジュールこの unsigned clang_visitChildren(CXCursor parent, CXCursorVisitor visitor, CXClientData client_data); にwrapp : typedef

    6

    1答えて

    自分のCコードからルビコードを呼び出したい。例外が発生した場合は、私が呼び出したルビコードをrb_protectする必要があります。 rb_protectは次のようになります。 VALUE rb_protect(VALUE (* proc) (VALUE), VALUE data, int * state) だから procは VALUE引数を取り、 VALUEを返す関数である必要があります。

    1

    1答えて

    システムコールのRuby CバインディングとRubyラッパーの主な違いは何ですか? 私の質問には、私はGitのバージョン管理機能をRuby on Railsアプリケーションに大きく取り入れようとしています。この作業には、yajl-rubyなどのRuby Cバインディングで実装されたライブラリと、git Ruby Gemなどのシステムコール用のRubyラッパーを組み込んだRubyプログラムの実行パイ

    0

    1答えて

    cでrb_function(rb_ivar_getなど)をオーバーライドする方法を理解できません。 私は次のコードを持っている: #include "ruby.h" void Init_metaobject(); VALUE meta_cObject = Qnil; VALUE meta_ivar_get(VALUE obj, VALUE mId, VALUE mWarn); VALUE

    6

    1答えて

    OSXでrubyに書いたC++ライブラリをエクスポートするためのRuby拡張機能の作成に問題があります。この単純な例:スローさbad_cast例外で #include <boost/regex.hpp> extern "C" void Init_bayeux() { boost::regex expression("^(([^:/?#]+):)?(//([^/?#]*))?([^?