[Openmcl-devel] FFI question: passing aligned pointers

R. Matthew Emerson rme at clozure.com
Mon Dec 6 20:23:46 UTC 2010


On Dec 3, 2010, at 5:14 AM, Artem Mironov wrote:

> I'm new to CCL and to Lisp in general. I have a question about passing
> C pointers to/from C functions using (external-call ...).
> 
> A C pointers returned by system's malloc() are aligned by at least 8 bytes.
> Such pointers can be safely passed to/from lisp as fixnums, without boxing
> into macptr.
> 
> I'm looking for something like this:
> 
> (external-call "c_function" :fixnum 0 :int 7 :fixnum)
> 
> Is there such feature or where to look to try to implement it?

Are you worried about consing a lot of macptrs?  In many cases, macptrs can be stack-allocated.

http://ccl.clozure.com/ccl-documentation.html#Referencing-and-Using-Foreign-Memory-Addresses




More information about the Openmcl-devel mailing list