|
From: Hoehle, Joerg-C. <Joe...@t-...> - 2005-06-21 16:41:09
|
Hi, >Von: Yaroslav Kavenchuk [mailto:kav...@je...] >Excuse me, but shouldn't it so: >(funcall > (ffi::foreign-library-function Yes, that's enough. I was too much thinking about being able to call a function of arbitrary type at arbitrary address, created dynamically. BTW, I've added a variant of mem-read to CLISP (not yet in CVS). (ffi:memory-as foreign-address internal-ffi-type &optional byte-offset). It's setf-able. It can even read 0-terminated strings (but not write those). I'll add it to CVS probably when I'll have had time to think about the array issue. So far I'm still in favour of adding a really low-level thing that can read/write into CLISP's specialized vectors only. For the rest, MEMORY-AS is IMHO good enough, since it can already create a vector of e.g. signed-byte 16 or double-float, at little extra cost (one foreign variable object). Regards, Jorg Hohle. |