Perl - XSでDLLを呼び出す(その7)
今回はここまで分かったことのまとめを行う。
固有マクロ
XSサブルーチン内で使用するための以下のマクロが存在する。
- STマクロ
XSサブルーチンに渡された引き数をスタックから取り出す。 - SvIVマクロ
SV(Scalar Value)を整数に変換する。 - SvNVマクロ
SVを実数に変換する。 - SvPV_nolenマクロ
SVを文字列に変換する。 - sv_setpvマクロ
文字列をSVに設定する。 - XSprePUSHマクロ
スタックに値を積むための事前準備をする。 - PUSHiマクロ
整数をスタックに積む。 - PUSHnマクロ
実数をスタックに積む。 - PUSHTARGマクロ
TARG変数をスタックに積む。 - XSRETURNマクロ
戻り置の個数を設定する。
固有変数
XSサブルーチン内部には、マクロによって以下の用途が決められた変数が定義される。
- items変数
引き数の個数を表す。 - RETVAL変数
戻り置の設定先で、XSサブルーチンのタイプで定義される。 - TARG変数
戻り置が文字列である場合、その内容の保存先として使用される。
次回以降は2つ以上の引き数や戻り置のXSサブルーチンを実装して行こうと思う。