*** Welcome to piglix ***

Libffi

libffi
Developer(s) Anthony Green
Initial release October 7, 1996; 20 years ago (1996-10-07)
Stable release
3.2.1 / November 12, 2014; 2 years ago (2014-11-12)
Written in C, Assembly language
Operating system Unix-like, Microsoft Windows, OS X, iOS, BareMetal OS
Type Runtime library
License MIT License
Website 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 run time 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 run time.

libffi is most often used as a bridging technology between compiled and interpreted language implementations. libffi may also be used to implement plug-ins, where the plug-in's function signatures are not known at the time of creating the host application.

Notable users include Python, Haskell, Dalvik, F-Script, PyPy, PyObjC, RubyCocoa, JRuby, Rubinius, MacRuby, gcj, GNU Smalltalk, IcedTea, Cycript, Pawn, Squeak, Java Native Access, Common Lisp (via CFFI), Racket,Embeddable Common Lisp and Mozilla.


...
Wikipedia

...