xs
https://github.com/tokuhirom/Linux-Socket-Accept4/pull/6 ハマったのでメモ. Perl 5.11以降では, SVt_RV(リファレンス型)は SVt_IV(整数型)のエイリアス(同値) なのですが, それより前では異なる値です. リファレンス型の判定に SVt_IVしか 使っていなか…
http://d.hatena.ne.jp/syohex/20111005/1317829402 以前自分で調べておきながら再度ハマってしまったので、 専用のエントリを書いておきます。 対象 MULTICALLを使ったモジュールを Perl 5.10以前にも対応させたい方。 Perl 5.12以降のみをサポートというの…
以前 List::UtilsBy::XSというモジュールを書いたとき、 c-modeだとなんか変だしということで xsのソースは頑張って text-modeで書いていたけど、専用のがあるだろと思って調べて みると xs-modeというものがあったので、その導入と設定に ついて。 ソース E…
XSを書く練習の続き。 前回はごりごりとXSで書くというものだったので、 今回はライブラリのバインディングにチャレンジ。 扱うライブラリは An ascii-art library というアスキーアートを作るためのライブラリ。 開発リポジトリ syohex/p5-Text-AAlib · Git…
List::UtilsBy::XSを書いてます。 - Life is very short の作業がとりあえずひと通り終わりました。 List::UtilsByのテストユーティリティがなぜか無限ループして しまうことや、Lightweight Callback APIの制限があったり しますが、List::UtilsByから持っ…
List::UtilsBy::XSを書いてます。 - Life is very short のようなことを今やっています。詳しく Perl APIを理解できている わけではないので、List::Util、List::MoreUtilsを参考にしています。 それらのモジュールでは Light weight callback API(MULTICALL…
'perldoc perlxs'に 'Returning SVs, AVs and HVs through RETVAL'という 項目があって、ここに書いている通りにやると sub ret_av { ... return @array; } sub ret_hv { ... return %array; }みたいになるのかなと思って試してみたら違ったということのメモ…
XSの勉強ということで, List::Utilや List::MoreUtilsに 似ている List::UtilsByの XS版を書いています。 リポジトリ syohex/p5-List-Utils-By · GitHub ベンチマーク まだすべてが実装できているわけではないんですが、 sort_by, nsort_by, max_byについて…
とりあえず実装してみたまずは Makefile.PLの作成 use strict; use ExtUtils::MakeMaker; WriteMakefile ( NAME => 'Solver::NQueen::XS', VERSION_FROM => 'lib/Solver/NQueen/XS.pm', );次にモジュールファイルの作成. モダンPerl入門のまま. package Solv…