[Openmcl-devel] Calling Lisp from C example?
Yannick Versley
yversley at gmx.de
Sun Feb 23 12:09:16 PST 2003
> Can anyone point me towards an example that shows how to call a Lisp
> function from C and how to link that into your C program.
Calling a Lisp function from C is not difficult (but irksome), it can be
done with something like
(defcallback my-c-callback (:without-interrupts nil
:unsigned-fullword arg1)
(format t "my-c-callback(~A)" arg1))
This creates a C stub for the lisp function and you can give that
to a c function that expects a function pointer.
Linking the lisp interpreter into a C program seems nontrivial to me. The
main routine (in ccl/lisp-kernel/pmcl-kernel.c) does lots of magic to set
up the environment.
If you want to have it simple, you can use Objective C to glue the two
together. This is much simpler than the above (thanks to apple-objc.lisp),
and a good example is in ccl/examples/fscript.lisp
The drawback is that you still have to make a framework out of your C
code.
_______________________________________________
Openmcl-devel mailing list
Openmcl-devel at clozure.com
http://clozure.com/cgi-bin/mailman/listinfo/openmcl-devel
More information about the Openmcl-devel
mailing list