CFFI

CFFI, the Common Foreign Function Interface, purports to be a portable foreign function interface (FFI) for Common Lisp.

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