Perl XS - CODE vs PPCODE

| コメント(0) | トラックバック(0)



CODEセクションはXS関数宣言の戻り値とRETVALを尊重する。というか、戻り値のSP (スタックポインター)の処理をある程度自動的にやってくれる。これに対して、PPCODEはプログラマーが自分でSPの操作をする。


もし1個以上の戻り値をリストで返したい場合はPPCODE。



void /* 戻り値は無視される? */
hoge()
PREINIT:
int i;
dXSTARG;
PPCODE:
for(i = 0; i < 10; i++)
PUSHi(i);

CODEセクションはRETVALを使う



IV
hoge()
CODE:
RETVAL = 1;

Author

Daisuke Maki (a.k.a lestrrat): Perl hacker, Director of Japan Perl Association, YAPC::Asia Tokyo Organizer (2009-2012), Fluent in Japanese, English. Ex-Brazilian (sorta)

#perl #c #ruby #java #mysql #english #japanese #opensource #stf #cooking #scotch #cigar


このエントリーをはてなブックマ
ークに追加

翔泳社よりモダンPerl入門(2010)を出版させていただいております。できれば内容をアップデートしたいので是非皆様・・・現在の在庫処理にお力をお貸しください!><

月別アーカイブ