Przejdź do zawartości

Interfejs binarny aplikacji: Różnice pomiędzy wersjami

Z Wikipedii, wolnej encyklopedii
[wersja nieprzejrzana][wersja przejrzana]
Usunięta treść Dodana treść
Tigrisek (dyskusja | edycje)
m lit., int.
{{dopracować}}
 
(Nie pokazano 30 wersji utworzonych przez 28 użytkowników)
Linia 1: Linia 1:
{{Dopracować|źródła=2022-06}}
'''ABI''' ([[język angielski|ang.]] '''''A'''pplication '''B'''inary '''I'''nterface'') – zespół reguł i ustaleń, które decydują o współpracy między [[Oprogramowanie|programami]] a [[biblioteka (informatyka)|bibliotekami]] w [[system operacyjny|systemie operacyjnym]]. ABI różni się od [[API (informatyka)|API]] tym, że dotyczy programów w wersji [[Kompilator|skompilowanej]] (binarnej, wykonywalnej), a nie w formie [[kod źródłowy|kodu źródłowego]].


'''Interfejs binarny aplikacji''', '''ABI''' (od [[język angielski|ang.]] ''application binary interface'') zespół reguł i ustaleń, które decydują o współpracy między programami i [[biblioteka programistyczna|bibliotekami]] a [[system operacyjny|systemem operacyjnym]] lub między różnymi [[komponent (informatyka)|komponentami]] danej aplikacji. ABI różni się od [[Interfejs programowania aplikacji|API]] tym, że dotyczy oprogramowania w wersji [[Kompilator|skompilowanej]], a więc binarnej (zwanej również wykonywalną), a nie w formie [[kod źródłowy|kodu źródłowego]].
W [[Unix|uniksowym]] świecie nie dba się zbytnio o to, by programy były zgodne na poziomie ABI – ważna jest raczej zgodność na poziomie [[API (informatyka)|API]]. Mimo, że większość nowoczesnych uniksów dla [[plik wykonywalny|plików wykonywalnych]] używa [[format]]u [[Executable and Linkable Format|ELF]], to [[Oprogramowanie|programów]] z jednego uniksa nie można uruchomić w innym. Wyjątek stanowi rodzina systemów [[BSD]], która pozwala na uruchamianie binariów np. [[Linux|Linuksa]].


Interfejs binarny aplikacji definiuje konwencję wywołań, która określa sposób wywoływania [[podprogram]]ów, przekazywania im argumentów oraz odbierania zwracanej wartości, liczbę, znaczenie i [[wywołanie systemowe|sposób wywoływania]] (''syscall''), a także format [[plik obiektowy|plików obiektowych]] lub bibliotek.
{{Informatyka stub}}


Kompletny ABI, na przykład ''Intel Binary Compatibility Standard'' (iBCS), pozwala na uruchamianie aplikacji z poziomu [[system operacyjny|systemu operacyjnego]] – wspierającego konkretny ABI – na innym systemie operacyjnym, bez zbędnych modyfikacji.
[[Kategoria:System operacyjny]]


W [[System uniksopodobny|systemach uniksopodobnych]] nie dba się zbytnio o to, by programy były zgodne na poziomie ABI, ponieważ ważniejsza jest zgodność na poziomie [[interfejs programowania aplikacji|interfejsu programowania aplikacji]], czyli kodu źródłowego. Mimo że większość nowoczesnych [[Unix|uniksów]] używa formatu [[Executable and Linkable Format|ELF]] dla [[plik wykonywalny|plików wykonywalnych]], to jednak programów z danego systemu uniksowego zwykle nie daje się poprawnie uruchomić w innym. Wyjątek stanowią systemy z rodziny [[Berkeley Software Distribution|BSD]], które umożliwiają, dzięki zastosowaniu specjalnego trybu ABI, uruchamianie w nich programów [[Linux|linuksowych]].
[[de:Binärschnittstelle]]

[[en:Application binary interface]]
[[Kategoria:Budowa systemu operacyjnego]]
[[ja:Application Binary Interface]]
[[zh:应用程序二进制接口]]

Aktualna wersja na dzień 09:53, 20 cze 2022

Interfejs binarny aplikacji, ABI (od ang. application binary interface) – zespół reguł i ustaleń, które decydują o współpracy między programami i bibliotekami a systemem operacyjnym lub między różnymi komponentami danej aplikacji. ABI różni się od API tym, że dotyczy oprogramowania w wersji skompilowanej, a więc binarnej (zwanej również wykonywalną), a nie w formie kodu źródłowego.

Interfejs binarny aplikacji definiuje konwencję wywołań, która określa sposób wywoływania podprogramów, przekazywania im argumentów oraz odbierania zwracanej wartości, liczbę, znaczenie i sposób wywoływania (syscall), a także format plików obiektowych lub bibliotek.

Kompletny ABI, na przykład Intel Binary Compatibility Standard (iBCS), pozwala na uruchamianie aplikacji z poziomu systemu operacyjnego – wspierającego konkretny ABI – na innym systemie operacyjnym, bez zbędnych modyfikacji.

W systemach uniksopodobnych nie dba się zbytnio o to, by programy były zgodne na poziomie ABI, ponieważ ważniejsza jest zgodność na poziomie interfejsu programowania aplikacji, czyli kodu źródłowego. Mimo że większość nowoczesnych uniksów używa formatu ELF dla plików wykonywalnych, to jednak programów z danego systemu uniksowego zwykle nie daje się poprawnie uruchomić w innym. Wyjątek stanowią systemy z rodziny BSD, które umożliwiają, dzięki zastosowaniu specjalnego trybu ABI, uruchamianie w nich programów linuksowych.