Go to the first, previous, next, last section, table of contents.


C プログラムから Perl ルーティンを呼び出す

C プログラムから、Perl サブルーティンを呼び出すために使用す ることのできるルーティンが 4 つあります。その 4 つは:

I32  perl_call_sv(SV*, I32);
I32  perl_call_pv(char*, I32);
I32  perl_call_method(char*, I32);
I32  perl_call_argv(char*, I32, register char**);

です。最もよく使われるはずのものは、 perl_call_sv です。引数 SV* には、呼び出される Perl サブルーティンの名前か、そのサブルーティンへのリ ファレンスを含むものです。2 番目の引数は、Perl サブルーティンが返す値が あれば、それがどんなものかを該当ルーティンに知らせます。

4 つのルーティンはいずれも、サブルーティンが Perl スタック上に返した引数 の数を返します。

これら 4 つのルーティンを使うときには、プログラマが Perl スタックを操作 しなくてはなりません。以下のマクロと関数が用意されています:

dSP
PUSHMARK()
PUTBACK
SPAGAIN
ENTER
SAVETMPS
FREETMPS
LEAVE
XPUSH*()

詳しくは See section C からの呼び出し法, を参照してください。


Go to the first, previous, next, last section, table of contents.

検索式: