gauche.uvectorをサポートした。 <c-pointer>からs8vectorへ変換したり、その逆をしたりすることができるようになった。
ということで、Scheme/Gauche/2005/09/25/Gauche-lazy-ffiの、
- ヒープをダンプする手続きを書くこと(名前はpointer-to-vectorかなあ)
は解決。きっちりテストしてないけど大丈夫でしょう。多分。
追加事項
- Cの関数に文字列以外に<c-pointer>も指定できるようにしたので、
コールバック形式の関数も使用できるようになった。
calleeはCで書かれていないと駄目なのは仕方がない(どうやってGaucheで書かれた手続きをコールバック関数のアドレスとして渡せばいいんだい?)。
- Gaucheのevalをffiに渡せばいいのか、 ってそういう問題じゃなくて、Cの呼出し形式をGaucheで生成できないのが原因。 なんとかうまくやれないかな。
- サンプルとしてlibcurlを使って curlのサンプル をGauche-lazy-ffiで書き直したコードを付けた。ま、楽勝でしょ。