A biblioteca Libffi fornece uma interface de programação portável e de alto nível para várias convenções de chamada. Isso permite a um(a) programador(a) chamar qualquer função especificada por uma descrição de interface de chamada em tempo de execução.
FFI significa Foreign Function Interface. Uma FFI permite a um aplicativo escrito em uma linguagem chamar um aplicativo escrito em outra linguagem. Especificamente, Libffi consegue fornecer uma ponte entre um interpretador, como Perl ou Python, e sub-rotinas da biblioteca compartilhada escrita em C, ou em C++.
Semelhante a GMP, Libffi constrói com otimizações específicas
para o processador em uso. Se construir para outro sistema,
[então] mude o valor do parâmetro --with-gcc-arch=
no seguinte
comando para um nome de arquitetura completamente implementada
pela CPU naquele sistema. Se isso não for feito, [então] todos os
aplicativos que se vincularem a libffi
deflagrarão Erros de Operação Ilegal.
Prepare Libffi para compilação:
./configure --prefix=/usr \ --disable-static \ --with-gcc-arch=native
O significado da opção de configure:
--with-gcc-arch=native
Garante que o GCC otimize para o sistema atual. Se isso não for especificado, [então] o sistema é presumido e o código gerado possivelmente não esteja correto. Se o código gerado será copiado de um sistema nativo para um sistema menos capaz, [então] use o sistema menos capaz como um parâmetro. Para detalhes acerca de tipos alternativos de sistema, vejam-se as opções de x86 no manual do GCC.
Compile o pacote:
make
Para testar os resultados, emita:
make check
Instale o pacote:
make install