Qu'est-ce que ABI (interface binaire d'application) ?

Conventions au niveau du code machine permettant à des programmes et bibliothèques compilés de fonctionner ensemble : convention d'appel, taille et alignement des types de données, mode d'appel système, etc.

Nom japonais: ABI(アプリケーションバイナリインターフェース)

« ABI (interface binaire d'application) » apparaît dans 3 questions d'entraînement réparties sur 2 thèmes, dont ISA et assembleur, Éditeurs de liens, chargeurs et exécutables.

Domaine: ISA et assembleur

S'entraîner : questions sur ABI (interface binaire d'application)

Quelle description de l'ABI (interface binaire d'application) est correcte ?

  1. AUn contrat au niveau du code source définissant le nom des fonctions et le type de leurs arguments
  2. BUn contrat définissant uniquement les types d'instructions du CPU et l'agencement de leurs bits
  3. CUn contrat au niveau du langage machine permettant de lier des programmes entre eux, couvrant la convention d'appel, la taille et l'alignement des types de données, etc.
Afficher la réponse et l'explication

Réponse : C. Un contrat au niveau du langage machine permettant de lier des programmes entre eux, couvrant la convention d'appel, la taille et l'alignement des types de données, etc.

L'ABI est un contrat au niveau du langage machine permettant à des programmes et bibliothèques compilés de fonctionner ensemble ; il comprend la convention d'appel, la taille de int, long et des pointeurs, l'alignement des structures, la manière d'invoquer les appels système, etc. L'API définit l'usage des fonctions au niveau du code source ; même avec la même API, si l'ABI diffère, une bibliothèque ne peut être utilisée sans recompilation. Pour une même ISA RISC-V, l'ABI peut différer selon l'OS ou l'usage.

« ABI (interface binaire d'application) » dans les explications

Questions mentionnant « ABI (interface binaire d'application) » (3)

  1. Quelle description de l'ABI (interface binaire d'application) est correcte ?
  2. Quel est le principal objectif de la définition d'une convention d'appel (calling convention) ?
  3. Lors de la création d'une bibliothèque partagée, quel est l'avantage de n'exporter que les fonctions utilisées de l'extérieur et de régler la visibilité des symboles des fonctions internes sur « hidden » ?

Termes associés

Convention d'appel Architecture du jeu d'instructions (ISA) Assembleur Bibliothèque partagée PLT (Procedure Linkage Table) GOT (table globale des décalages) Éditeur de liens dynamique Adressage relatif au PC Adresse de retour Architecture load-store

Retour au glossaire