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.