8.50. Libffi-3.5.2

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++.

Tempo aproximado de construção: 1,7 UPC
Espaço em disco exigido: 10 MB

8.50.1. Instalação do Libffi

[Nota]

Nota

Assim como o GMP, o Libffi constrói com otimizações específicas para o processador em uso. Se construir para outro sistema, mude o valor do parâmetro --with-gcc-arch= no comando a seguir para um nome de arquitetura totalmente implementado por ambos a CPU do anfitrião e a CPU naquele sistema. Se isso não for feito, todos os aplicativos que se vincularem a libffi deflagarão Erros de Operação Ilegal. Se você não conseguir descobrir um valor seguro para ambas as CPUs, substitua o parâmetro por --without-gcc-arch para produzir uma biblioteca genérica.

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

8.50.2. Conteúdo do Libffi

Biblioteca instalada: libffi.so

Descrições Curtas

libffi

Contém as funções de API da interface de função externa