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サブルーチンを実装して行こうと思う。