Ugrás a tartalomhoz

application binary interface

A Wikiszótárból, a nyitott szótárból


Főnév

application binary interface (tsz. application binary interfaces)

  1. (informatika) Az Application Binary Interface (röviden ABI, magyarul: alkalmazás bináris interfész) az a szabályrendszer, amely meghatározza, hogyan kommunikálnak egymással az egyes programok és az operációs rendszer vagy más programok alacsony szinten, bináris formában.



Mi az az Application Binary Interface (ABI)?

  • Egy technikai specifikáció, amely leírja, hogy a különböző szoftverkomponensek (pl. programok, könyvtárak) hogyan hívják meg egymást gépi kód szinten.
  • Magában foglalja a következőket:
    • Adatstruktúrák memóriabeli elrendezése (pl. struct-ok, osztályok)
    • Függvényhívás konvenciók (paraméterek átadása regiszterben vagy veremben)
    • Regiszterhasználat szabályai
    • Veremkezelés
    • Kivételkezelés módja
    • Bináris fájlformátumok



Miért fontos az ABI?

  • Lehetővé teszi, hogy különböző fordítóprogramokkal vagy különböző programnyelvekkel írt programok együttműködjenek.
  • Biztosítja, hogy egy már lefordított program (vagy könyvtár) kompatibilis legyen a rendszeren futó más komponensekkel.
  • Kritikus a rendszerkönyvtárak, operációs rendszer interfészek és harmadik féltől származó binárisok működéséhez.



ABI vs API

  • API (Application Programming Interface): Forráskód szintű interfész, azaz hogyan hívhatók meg funkciók, milyen függvényeket hívhatunk, milyen paramétereket várnak.
  • ABI: Bináris szintű interfész, ami a már lefordított kódok közötti együttműködést definiálja.



Példa

  • Az x86-64 Linux rendszerek ABI-ja meghatározza, hogy a függvényparamétereket mely regiszterekben adjuk át (pl. első négy paraméter az RDI, RSI, RDX, RCX regiszterekben).



Összefoglaló

Az Application Binary Interface (ABI) a szoftverek közötti alacsony szintű bináris kommunikáció szabályait határozza meg, így biztosítva a kompatibilitást és együttműködést különböző programok, könyvtárak és rendszerkomponensek között.