Interface binária de aplicação

Uma interface binária de aplicação (ou ABI, do inglês application binary interface) descreve a interface de baixo nível entre uma aplicação e o sistema operacional, entre a aplicação e suas bibliotecas ou entre componentes de uma aplicação.

Descrição

Uma ABI difere de uma interface de programação de aplicativos (ou API, em inglês, aplication programming interface) na medida em que uma API defina a interface entre o código fonte e as bibliotecas, de forma que o mesmo código fonte compila em qualquer sistema operacional que suporte a API. A ABI permite que o código objeto compilado funcione sem alterações em qualquer sistema compatível com a ABI.

O desenvolvimento de ABI cobre detalhes como convenções de chamada, que controlam como os argumentos de uma função são passados e como os valores de retorno são obtidos; os números das chamadas de sistema e como uma aplicação deve realizar chamadas de sistema para o sistema operacional; e no caso de uma API completa para sistema operacional, o formato binário de um arquivo objeto. Uma ABI completa, como a iBCS da Intel, permite a um programa de um sistema operacional rodar em outro sistema, desde que ambos suportem a ABI.