34 lines
1.6 KiB
XML
34 lines
1.6 KiB
XML
|
<?xml version="1.0" encoding="UTF-8"?>
|
||
|
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||
|
<pkgmetadata>
|
||
|
<herd>toolchain</herd>
|
||
|
<longdescription lang="en">
|
||
|
Compilers for high level languages generate code that follow certain
|
||
|
conventions. These conventions are necessary, in part, for separate
|
||
|
compilation to work. One such convention is the "calling
|
||
|
convention". The "calling convention" is essentially a set of
|
||
|
assumptions made by the compiler about where function arguments will
|
||
|
be found on entry to a function. A "calling convention" also specifies
|
||
|
where the return value for a function is found.
|
||
|
|
||
|
Some programs may not know at the time of compilation what arguments
|
||
|
are to be passed to a function. For instance, an interpreter may be
|
||
|
told at run-time about the number and types of arguments used to call
|
||
|
a given function. Libffi can be used in such programs to provide a
|
||
|
bridge from the interpreter program to compiled code.
|
||
|
|
||
|
The libffi library provides a portable, high level programming
|
||
|
interface to various calling conventions. This allows a programmer to
|
||
|
call any function specified by a call interface description at run
|
||
|
time.
|
||
|
|
||
|
Ffi stands for Foreign Function Interface. A foreign function
|
||
|
interface is the popular name for the interface that allows code
|
||
|
written in one language to call code written in another language. The
|
||
|
libffi library really only provides the lowest, machine dependent
|
||
|
layer of a fully featured foreign function interface. A layer must
|
||
|
exist above libffi that handles type conversions for values passed
|
||
|
between the two languages.
|
||
|
</longdescription>
|
||
|
</pkgmetadata>
|