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.