2008年12月19日

今更 perl XS 言語

Perl6 から C API インタフェースが変わるようだが、RedHat ES5 上(5.8.8)で perl モジュールを作る必要が出てきたので、今更ながら XS 言語を使ってみる。

h2xa -A -n Foo
でモジュールのスケルトンを作って
cd Foo
Foo.xs を編集する。

#include "EXTERN.h"
#include "perl.h"
#include "XSUB.h"

#include "ppport.h"


MODULE = Foo PACKAGE = Foo

char *
hello()
CODE:
RETVAL = "Hello, world!";
OUTPUT:
RETVAL

この例ではスタティックな文字列を返しているが、ヒープからとって返したらメモリリークするんだろうなあ...
この場合、面倒でも SV * を返すようにするべきなんだろうか?
posted by みのしす at 23:00| Comment(0) | TrackBack(0) | 日記
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

この記事へのトラックバックURL
http://blog.sakura.ne.jp/tb/24545116

この記事へのトラックバック