Application Binary Interface (ABI)
ABI defines how compiled code interacts at the binary level: calling conventions, name mangling,
ABI defines how compiled code interacts at the binary level: calling conventions, name mangling,
C++ can call C functions and vice versa using extern "C" linkage. Essential for using C libraries, system APIs, and creating C-compatible interfaces.
Calling conventions define how functions receive parameters and return values at the assembly level - register usage, stack cleanup, and parameter passing order.
Name mangling (name decoration) encodes C++ function signatures into unique symbol names for the linker. This enables function overloading and namespaces while maintaining linkage compatibility.