Application binary interface

En informatique, une Application Binary Interface (ABI, interface binaire-programme), décrit une interface de bas niveau entre les applications et le système d'exploitation, entre une application et une bibliothèque ou bien entre différentes parties d’une application. Une ABI diffère d’une API, puisqu'une API définit une interface entre du code source et une bibliothèque, de façon à assurer que le code source fonctionnera (compilera, si applicable) sur tout système supportant cette API.

Exemples pour une interface binaire-programme stable et instable une interface de programmation stable et instable.

Une ABI définit notamment des conventions d'appel des fonctions pour une architecture donnée. C'est l'ABI qui définit le rôle précis des registres généraux (paramètres de fonctions, résultats de fonctions, variables temporaires ?) et la responsabilité de leur intégrité (appelant ou appelé). C'est l'ABI qui définit la structure de la pile, notamment l'organisation des emplacements réservés aux paramètres supplémentaires d'appel d'une fonction, à la sauvegarde de certains registres, à l'allocation de mémoire dynamiquement sur la pile (taille connue à la compilation) selon la portée de l'identifiant.

Une ABI est une convention qui lie une architecture, un langage de programmation et un compilateur.

Voir égalementModifier

Liens internesModifier

Liens externesModifier