libffi

From Wikipedia, the free encyclopedia

libffi
Developed by Anthony Green
Initial release 7 October 1996
Latest release 3.0.5 / 3 April 2008
Written in C, Assembly language
OS Unix-like, Cygwin, Mac OS, Bare metal
Genre Runtime library
License BSD License
Website http://sourceware.org/libffi

libffi is a foreign function interface library. It provides a C programming language interface for calling natively compiled functions given information about the target function at runtime instead of compile time. It also implements the opposite functionality. libffi can produce a pointer to a function that can accept and decode any combination of arguments defined at runtime.

libffi is most often used as a bridging technology between compiled and interpreted language implementations.

Notable users include Python, PyObjC, RubyCocoa, gcj, GNU Smalltalk, IcedTea, Pawn and Squeak.

On Mac OS X libffi is commonly used with BridgeSupport, which provides programming language neutral descriptions of framework interfaces.

libffi is highly portable and is released under a BSD license.

[edit] External links