ffi
lispとrubyとpythonと その4 Cライブラリの呼び出し(python) - テンポラリにfgshunさんからコメントをもらったので試してみた。 呼び出しているcライブラリはこんどもlispとrubyとpythonと その4 Cライブラリの呼び出し(lisp) - テンポラリと同じもの。呼…
それぞれの言語でCと連携してみたまとめ、というか感想というか。 lispもRubyもPythonも呼び出し自体はわりと簡単。 ちゃんと動くかどうかは別として・・・。 一番すんなり理解できたのはSBCLだったような気がする。 Rubyの「拡張ライブラリをCで書く」って…
最後はpython。 Cとの連携方法はいくつかあるみたい(boost.pythonとかswingとか)あるみたいなんだけど、ctypesを使用。 呼び出しているcライブラリはlispとrubyとpythonと その4 Cライブラリの呼び出し(lisp) - テンポラリと同じ。 参考は、まぁここ。 ht…
つぎはruby。 rubyだとCライブラリを呼び出すというよりはrubyのクラスをCで書く感じ。 ruby1.9でためしたんだけど、1.9では RSTRING(xxx).ptr とか RSTRING(xxx).len ではなくて RSTRING_LEN(xxx) RSTRING_PTR(xxx) と書くみたい。参考はこのへん。 http://…
今回はCライブラリの呼び出し。 SBCL限定なので注意。 sb-alienにCを呼び出すために必要なもろもろが入ってる。 一応動いてるんだけど、これであってんのかなぁ。 C側でmallocした時とか、GCのコンパクションでまずいことになったりしないんだろうか・・・。…