Application binary interface: Difference between revisions

Content deleted Content added
m Reverted 1 edit by 2409:4063:6D05:ED5A:9417:D8FE:5908:B3EF (talk) to last revision by 190.206.240.252
Description: Cleanups
Line 11:
 
== Description ==
Details covered by an ABI include the following:
ABIs cover details such as:
* a processorProcessor instruction set, (with details like register file structure, stack organization, memory access types, etc...)
* the sizesSizes, layouts, and [[Data structure alignment|alignments]] of basic [[data type]]s that the processor can directly access
* the [[callingCalling convention]], which controls how the arguments of [[function (programming)|function]]s are passed, and return values retrieved.; Forfor example, it controls the following:
** whetherWhether all parameters are passed on the stack, or some are passed in registers;
** whichWhich registers are used for which function parameters;
** and whetherWhether the first function parameter passed on the stack is pushed first or last.
* howHow an application should make [[system call]]s to the operating system, and if the ABI specifies direct system calls rather than procedure calls to system call [[Method stub|stubs]], the system call numbers.
* and inIn the case of a complete operating system ABI, the binary format of [[object file]]s, program libraries, and so onetc.
 
== Complete ABIs ==