Application binary interface

Page d'aide sur l'homonymie Pour les articles homonymes, voir ABI.
Exemples pour une interface binaire-programme stable et instable une interface de programmation stable et instable.

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.

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 également

Voir également

Liens internes

Liens externes

Dans d'autres langues