とりあえず自前でポインタ型を作った: files:Gauche-lazy-ffi-20050925.tar.gz。
使い方はScheme/Gauche/Gauche-lazy-ffi参照。
ポインタを扱う手続きのアイデアはCLiki:UFFIから頂いてきた。
このことで、Scheme/Gauche/2005/09/21/Gauche-lazy-ffiのときの問題、
- 破壊的代入ができない(gethostname(3)みたいなのはアウト)
- void*が表現できない
の両方が解決。
ここまででほとんど用は足りるのだけど、少し欲が出てきたので、以下TODO。
- ヒープをダンプする手続きを書くこと(名前はpointer-to-vectorかなあ)
- 構造体をパックする手続きを書くこと(今でも要素をベタ書きすれば動くと思うけど面倒)