Hasty Briefsbeta

Bilingual

ABI vs. API (2004)

5 hours ago
  • #Software Compatibility
  • #API
  • #ABI
  • APIs are source-level interfaces specifying functions, arguments, and usage; example given is C's fopen with its header and function prototypes.
  • ABIs are binary-level interfaces detailing how compiled code interacts, covering data layout like byte order, pointer sizes, and stack argument passing.
  • Compatibility differences: Adding elements (e.g., to structs) may maintain compatibility; ABI breaks require soname changes, while API breaks necessitate source code updates, often avoided but can occur in major libraries.