Uživatelské nástroje

Nástroje pro tento web


abi

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