Scheme/Gauche/Gauche-lazy-ffi
なんちゃってffiのつくりかけ: files:Gauche-lazy-ffi-20050921.tar.gz
要libffi。
eggs:lazy-ffiみたいなのを目指したのだけど似ても似つかないものに。
- 破壊的代入ができない(gethostname(3)みたいなのはアウト)
- void*が表現できない
なところが偽物。
(define libm (lazy-ffi:open "libm.so.2.0")) (lazy-ffi:function libm "sin" lazy:double 1.0) =>0.8414709848078965
単にScmObjをlibffiに渡しているだけなので、 偽物から脱却するには、 自前のヒープとそれをやりとりするためのインターフェースを作成しないと駄目か。
Comments