ABI

An application binary interface (abi) is primarily the interface between:

  1. Program and Operating System - How your compiled program interacts with the OS kernel
  2. Program and Libraries - How your compiled program uses shared libraries
  3. Different parts of compiled code - How compiled modules/objects link together

More Precisely:

ABI defines how compiled binary code interacts with:

💡 API compatibility is generally the concern for system design and of the toolchain. However, a programmer may have to deal with an ABI directly when writing a program in multiple languages or when using multiple compilers for the same language.

Interface aspects covered by an ABI include:

image 1.png