XSモジュールでプロトタイプ宣言


http://subtech.g.hatena.ne.jp/yappo/20070302/1172797971

XSでどう書くか分からないけど

use Text::CSV::LibCSV;

csv_parse {
    my @cols = @_;
    # なんか処理
} $data;

とか書けるようになると、どうなんだろう。

宣言部分を

void
csv_parse(callback, sv_data, opt = 0)
        SV *callback;
        SV *sv_data;
        int opt;
    PROTOTYPE: &$;$
    # 以下略

こう変更すればいけますです。詳細は perldoc perlxsにて。


うーん。何も考えずにライブラリの関数と引数の順番同じにしたけれど、、、
プロトタイプ宣言はすっかり忘れてたなぁ。

まぁいいかぁ。