From Wikipedia, the free encyclopedia
Application binary interface (ABI) je v informatice označení pro nízkoúrovňové rozhraní. Jde o soubor pravidel, která definují spolupráci na úrovni strojového kódu mezi procesy a jádrem operačního systému, procesy a jimi používanými knihovnami nebo mezi součástmi aplikací. ABI umožňuje již zkompilovanému programu fungovat beze změn na všech systémech, které mají kompatibilní ABI.
Rozdíl mezi ABI a API je ten, že API definuje rozhraní mezi zdrojovým kódem a knihovnami, takže ho používá programátor. Naproti tomu ABI je systémová záležitost, která je používána na úrovni strojového kódu. ABI definuje buď tvůrce operačního systému (firma Microsoft u Microsoft Windows) nebo tvůrce překladače (překladač GCC v Linuxu) nebo tvůrce procesoru (EABI pro RISC procesory).
ABI obsahují informace o:
Kompletní ABI, jakým je Intel Binary Compatibility Standard (iBCS), umožňuje programu z jednoho operačního systému podporujícímu toto ABI běžet beze změn na kterémkoli jiném operačním systému za předpokladu, že jsou přítomny potřebné knihovny a jsou splněny určité předpoklady.
Ostatní ABI popisují detaily, např. změny názvů v C++[1], šíření výjimek a volací konvence mezi překladači na stejné platformě, ale nevyžadují multiplatformní kompatibilitu.
Embedded-application binary interface (EABI) specifikuje konvence formátu souborů, datových typů, použití registrů, organizace zásobníku a předávání parametrů funkcí embedded programů.
Překladače, které podporují EABI, vytvoří objektový kód, který je kompatibilní s kódem vygenerovaným jinými kompilátory, a tím umožňují vývojářům linkovat knihovny vytvořené jedním překladačem k objektovému kódu vygenerovanému jiným překladačem. Vývojáři píšící kód v jazyce symbolických adres mohou využít EABI k interakci se strojovým kódem vytvořeným jiným překladačem.
Hlavními rozdíly mezi EABI a ABI, které se týkají hlavního využití v operačních systémech, jsou, že v aplikačním kódu jsou povoleny privilegované instrukce, dynamické linkování není vyžadováno (někdy dokonce ani není povoleno) a je použita lepší organizace zásobníku za účelem šetření pamětí.
Široce používaná EABI obsahují PowerPC[2], ARM EABI2[3] a MIPS EABI.[4]
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.