Programowanie

ABI

ABI

ABI (ang. Application Binary Interface) – zespół reguł i ustaleń, które decydują o współpracy między programami a bibliotekami, oprogramowaniem a systemem operacyjnym lub pomiędzy różnymi komponentami aplikacji. ABI różni się od API tym, że dotyczy programów w wersji skompilowanej (binarnej, wykonywalnej), a nie w formie kodu źródłowego.

ABI definiuje konwencję wywołań, która określa sposób wywoływania funkcji, przekazywania jej argumentów oraz odbierania zwracanej wartości; liczbę, znaczenie i sposób wywoływania i syscalli; a także format plików obiektowych, bibliotek itp.

Kompletne ABI, jak np. Intel Binary Compatibility Standard (iBCS), pozwala na uruchamianie aplikacji z systemu operacyjnego wspierającego konkretne ABI na innym systemie operacyjnym bez zbędnych modyfikacji.

W świecie uniksowym nie dba się zbytnio o to, by programy były zgodne na poziomie ABI – ważna jest raczej zgodność na poziomie API. Mimo, że większość nowoczesnych uniksów dla plików wykonywalnych używa formatu ELF, to programów z jednego systemu uniksowego nie można uruchomić w innym. Wyjątek stanowi rodzina systemów BSD, która pozwala na uruchamianie binariów między innymi Linuksa.


Zalążek artykułu To jest tylko zalążek artykułu związanego z informatyką. Jeśli potrafisz, rozbuduj go.