ABI
Z Wikipedii
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.