Przejdź do zawartości

Interfejs binarny aplikacji

Z Wikipedii, wolnej encyklopedii
To jest stara wersja tej strony, edytowana przez Rei-bot (dyskusja | edycje) o 22:28, 29 maj 2007. Może się ona znacząco różnić od aktualnej wersji.

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 m.in. Linuksa.

Szablon:Informatyka stub