Je suis novice en matière de programmation de systèmes Linux et j'ai rencontré les notions d'API et d'ABI au cours de mes lectures. Programmation du système Linux .
Définition de l'API :
Une API définit les interfaces par lesquelles une pièce de logiciel communique avec un autre au niveau de la source.
Définition de l'ABI :
Alors qu'une API définit une source une interface source, une ABI définit l'interface binaire de bas niveau entre deux ou plus de logiciels sur une architecture particulière. Elle définit comment une application interagit avec elle-même, comment une application interagit avec le noyau, et comment une l'application interagit avec les bibliothèques.
Comment un programme peut-il communiquer au niveau de la source ? Qu'est-ce qu'un niveau source ? Est-il lié au code source d'une manière ou d'une autre ? Ou la source de la bibliothèque est incluse dans le programme principal ?
La seule différence que je connais est que l'API est surtout utilisée par les programmeurs et que l'ABI est surtout utilisée par un compilateur.
3 votes
Par niveau de source, ils veulent dire quelque chose comme un fichier d'inclusion pour exposer les définitions de fonctions
1 votes
Voir aussi stackoverflow.com/q/2171177/632951