ABI | charakteristika

Charakteristika

ABI obsahují informace o:

  • velikosti, vzhledu a zarovnání datových typů
  • volací konvence, které kontrolují, jaké parametry jsou funkcím předávány a jaké parametry funkce vrací; například: jestli jsou všechny parametry uloženy na zásobník nebo jestli jsou některé parametry předány do registrů, které registry jsou použité pro které parametry funkcí, a jestli je jako první odebrán ze zásobníku ten parametr, který byl na zásobník uložen jako poslední.
  • jak by měla aplikace provádět systémová volání operačního systému, a jestli ABI upřednostňuje přímá systémová volání před voláním procedur
  • a, v případě ABI celého operačního systému, objektové soubory, programové knihovny a tak dále.

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.

Jiné Jazyky