The CFFI library is composed of a Lisp-implementation-specific backend in the CFFI-SYS package, and a portable frontend in the CFFI package.
The CFFI-SYS backend package defines a low-level interface to the native FFI support in the Lisp implementation. It offers operators for allocating and dereferencing foreign memory, calling foreign functions, and loading shared libraries. The CFFI frontend provides a declarative interface for defining foreign functions, structures, typedefs, enumerated types, etc... It is implemented in portable ANSI CL making use of the low-level operators exported by CFFI-SYS.
A UFFI compatibility layer is also included.
More information about CFFI (including documentation) is available in CFFI's home page at common-lisp.net.
A companion project is Verrazano, a FFI generator (from C and C++ headers) that targets CFFI.
SWIG can also generate CFFI code from headers.
Download ASDF package from http://common-lisp.net/project/cffi/releases/cffi_latest.tar.gz
Pages in this topic: SDL UFFI Virgil
Also linked from: array-operations asdf-additions Buclet cffi-cairo CFFI-SDL cl-charms cl-fann cl-freetype2 cl-gettext cl-glfw cl-horde3d cl-mpi CL-Ncurses cl-ode cl-opengl cl-plplot CL-PNG cl-z clois-lane CLplusJ Current recommended libraries FFA Foreign Structures By Value GPGME gtk-cffi IOLib IOlib-POSIX libgpg-error lisp-magick lispbuilder-sdl magicffi Marko Kocic Mixalot MKCL Okra OSICAT perl-in-lisp philip-jose PLOKAMI SQLite Lisp interface Stephen Horner SWIG thnappy Verrazano WAAF-CFFI wxCL
CLiki pages can be edited by anyone at any time. Imagine a fearsomely comprehensive disclaimer of liability. Now fear, comprehensively