ABI - Application Binary Interface

Full Form ABI - Application Binary Interface

What is ABI?

ABI stands for "Application Programming Interface", which is an interface between two binary program modules. One of these modules is defined as an operating system, and the other is defined as a program that is being run by the user. It also describes the mechanisms by which functions are invoked, such as:

How the parameters are transferred between caller and receiver!
How return values are given to the callers!
How the libraries are implemented!
How the programs are loaded into the memory!
How data structures are accessed in machine code!

The ABI defines items, such as the calling conventions (also known as the common aspect of an ABI), structure layout and padding, type alignments, and some other aspects that must remain consistent between several software components to ensure compatibility.

"Calling conventions defines the transfer of data between a function callee and caller."

The following are the details that ABI covers:

a processor instruction set consisting of more information such as stack organization, memory access types, register file structure, etc.
the sizes, layouts, and alignments of basic data types, which can be accessed by the processor directly.
the calling convention, which manages how functions' arguments are passed and return values are received.

Embedded ABI

EABI is the acronym for 'Embedded Application Binary Interface'. It specifies standard conventions for file formats, data types, register usage, stack frame organization, and function parameter passing of an embedded software program, to use with an embedded OS. It is designed for optimizing performance within the limited resources of an embedded system.

PowerPC, ARM EABI2, and MIPS EABI are widely used EABIs.

←prev next→

Do you know?



Popular Tutorials


Blog with us

CONNECT WITH US

Like Tutorialsmate on Facebook Follow Tutorialsmate on Facebook Add Tutorialsmate on Facebook Subscribe Tutorialsmate on Facebook Follow Tutorialsmate on Facebook Follow Tutorialsmate on Facebook
Get tutorialsmate on Google Play
© 2020 TutorialsMate. Designed by TutorialsMate