Application Binary Interface (ABI)

From GM-RKB
Jump to navigation Jump to search

An Application Binary Interface (ABI) is an interface between two binary program modules



References

2023

  • (Wikipedia, 2023) ⇒ https://en.wikipedia.org/wiki/Application_binary_interface Retrieved:2023-9-8.
    • In computer software, an application binary interface (ABI) is an interface between two binary program modules. Often, one of these modules is a library or operating system facility, and the other is a program that is being run by a user.

      An ABI defines how data structures or computational routines are accessed in machine code, which is a low-level, hardware-dependent format. In contrast, an application programming interface (API) defines this access in source code, which is a relatively high-level, hardware-independent, often human-readable format. A common aspect of an ABI is the calling convention, which determines how data is provided as input to, or read as output from, computational routines. Examples of this are the x86 calling conventions.

      Adhering to an ABI (which may or may not be officially standardized) is usually the job of a compiler, operating system, or library author. However, an application programmer may have to deal with an ABI directly when writing a program in a mix of programming languages, or even compiling a program written in the same language with different compilers.

      An ABI is as important as the underlying hardware architecture. The program will fail equally if it violates any constraints of these two.