8.49. Libffi-3.4.4

La bibliothèque Libffi fournit une interface de programmation portable et de haut niveau pour diverses conventions d'appel. Cela permet au programmeur d'appeler des fonctions par la description de leur interface d'appel à l'exécution.

FFI signifie Foreign Function Interface (Interface de fonction étrangère). Une FFI permet à un programme écrit dans une langue de faire appel à un programme écrit dans une autre langue. Libffi peut notamment créer un pont entre un interprète comme Perl, ou Python, et partager une librairie de sous-programmes écrite en C ou C++.

Temps de construction approximatif: 1.8 SBU
Espace disque requis: 11 Mo

8.49.1. Installation de Libffi

[Note]

Note

Comme GMP, libffi est construite avec des optimisations spécifiques au processeur utilisé. Si vous construisez pour un autre système, modifiez la valeur du paramètre --with-gcc-arch= dans la commande suivante pour spécifier le nom de l'architecture implémentée par le CPU de ce système. Dans le cas contraire, toutes les applications qui se lient à libffi afficheront des erreurs de type opération illégale.

Préparez la compilation de libffi :

./configure --prefix=/usr          \
            --disable-static       \
            --with-gcc-arch=native

Voici la signification de l'option de configuration :

--with-gcc-arch=native

Vérifie que GCC active les optimisations pour le système actuel. Si l'option n'est pas spécifiée, il essaiera de deviner le système et le code généré peut ne pas être correct pour certains systèmes. Si le code généré est copié du système actuel vers un système avec moins de fonctionnalités, utilisez ce dernier dans le paramètre. Pour des détails concernant les types de systèmes alternatifs, voyez les options x86 dans le manuel de GCC.

Compilez le paquet :

make

Pour tester les résultats, lancez :

make check

Installez le paquet :

make install

8.49.2. Contenu de Libffi

Bibliothèque installée: libffi.so

Descriptions courtes

libffi

Contient les fonctions de l'API de l'interface pour les fonctions externes.