タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

rubyと拡張ライブラリに関するtettsyunのブックマーク (3)

  • Ruby用拡張ライブラリをCで作る

    Ruby用拡張ライブラリをCで作る Rubyは、C(あるいはC++)で書いたコードを動的(あるいは静的)にリンクして利用する事ができる。うまく使えば、Rubyで書くより高速な動作が期待できる。 たとえば、GUIライブラリである「Ruby/GTK」は、描画部分にCで書かれたライブラリを利用する事で、実用的な画面描画速度を確保している。 その、Ruby用拡張ライブラリをCで書く方法である。 ■ 拡張ライブラリ作成の流れ Rubyはオブジェクト指向言語である。オブジェクト指向言語におけるプログラムとは、基的にクラス定義である(と、少なくとも私は思っている)。そこで、ここではクラス定義に話を絞る。 メソッドの実体となる関数を定義する Init関数を作る rb_define_classで、新しいクラスを作る rb_define_methodで、クラスに1で作成したメソッドを追加する Makefil

  • C言語で、ruby用拡張モジュールを作成する方法 - ぴょぴょぴょ? - Linuxとかプログラミングの覚え書き -

    C言語で、rubyの拡張モジュールを作成する方法について調べてみました。 とりあえず例として Sample という拡張モジュールを作成し Sample::sample() というメソッドをCで実装 してみました。 このSampleモジュールを使うと、以下のrubyのコードは require "sample" puts Sample::sample("test") コンソールに "test" と表示するようになります 拡張モジュールのソースコード Cで次のようなコードを書きます。 #include <ruby.h> static VALUE rb_sample_sample(VALUE obj, VALUE arg) { Check_Type(arg, T_STRING); return rb_str_new2(RSTRING_PTR(arg)); } void Init_sample()

    C言語で、ruby用拡張モジュールを作成する方法 - ぴょぴょぴょ? - Linuxとかプログラミングの覚え書き -
  • Ruby拡張ライブラリ作成チュートリアル

    目次 準備 まずはC言語プログラムを呼び出す 簡単な数値のやりとり NArray配列を渡す Swigを使ってお手軽変換 参考文献 準備 このチュートリアルではRuby 1.8系列の使用を前提にしています。 確認はすべてRuby 1.8.4 [i386-Cygwin]で行いました。 NArrayはVersion 0.5.8を用いています。 またそれ以外に以外に以下のものが必要です。 Cコンパイラ Rubyのコンパイルに用いたものと同じものが必要です。 バイナリパッケージを導入した場合はどのコンパイラでビルドされたものか 知る必要がありますが、UNIX系ではたいていgccです。 ruby.h, mkmf.rb Rubyをソースコードから自分でビルドした場合はインストールされていると 思いますが、バイナリパッケージを導入した場合はruby.hやmkmf.rbがあるか 確認する必要があります。開発

  • 1