Application binary interface: Difference between revisions

Content deleted Content added
Description: not c++ specific
Remove duplicate info (calling conv is covered later)
Line 7:
 
An ABI is at a relatively low-level of [[abstraction (computer science)|abstraction]]. Interface compatibility depends on the target [[computer hardware|hardware]] and the [[software build]] [[toolchain]]. In contrast, an [[application programming interface]] (API) defines access in [[source code]] which is a relatively high-level, hardware-independent, and [[human-readable]] format. An API defines interface at the source code level, before compilation, whereas an ABI defines an interface to compiled code.
 
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.
 
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 a multiple [[programming language|languages]] or [[compiler]]s.