abi
Obsah
Application Binary Interface (ABI)
Application Binary Interface (ABI) je rozhraní, které definuje způsob, jakým spolu na úrovni binárního kódu komunikují dva softwarové moduly – typicky aplikace a operační systém nebo aplikace a knihovny. ABI určuje pravidla, podle kterých jsou volány funkce, předávány parametry, organizována data v paměti a jak probíhá komunikace mezi binárními komponentami.
Charakteristika
- Definuje binární kompatibilitu mezi programy a knihovnami.
- Určuje volací konvence (calling conventions).
- Specifikuje rozložení datových struktur v paměti.
- Popisuje formát binárních souborů, registrů a způsob předávání návratových hodnot.
- Je závislé na architektuře procesoru a toolchainu (kompilátor, linker).
ABI vs. API
- API – rozhraní na úrovni zdrojového kódu, čitelné člověkem, nezávislé na architektuře.
- ABI – rozhraní na úrovni zkompilovaného binárního kódu, závislé na platformě a kompilátoru.
- API definuje, *co* programátor volá; ABI definuje, *jak* to funguje na úrovni strojového kódu.
Příklady použití
- Linux ABI – stabilní binární rozhraní mezi jádrem a uživatelským prostorem.
- C/C++ ABI – pravidla pro linkování objektových souborů, name mangling, výjimky a layout objektů.
- Blockchain ABI – např. Ethereum používá ABI pro komunikaci mezi smart kontrakty a aplikacemi.
Význam
ABI je klíčové pro:
- kompatibilitu mezi různými verzemi knihoven,
- možnost používat binární moduly z různých kompilátorů,
- stabilitu softwarového ekosystému,
- interoperabilitu mezi programy na stejné platformě.
Synonyma / související pojmy
- binární rozhraní
- volací konvence
- API (konceptuálně příbuzné, ale odlišné)
abi.txt · Poslední úprava: autor: admin
