Google
 
   
Login
Username:

Password:


Lost Password?

Register now!
Search
Main Menu
top books
Polls
What do you think about php-deluxe.net?
Excellent!
Cool
Hmm..not bad
What the hell is this?
encyclopedia
recommendation
compare webbrowser
Freenet DSL
Who's Online
10 user(s) are online (10 user(s) are browsing encyclopedia)

Members: 0
Guests: 10

more...
browser tip
Unix Befehle
manual of unix befehle
recommendation!
Sponsored
partner

Application binary interface

In computer software, an application binary interface (ABI) describes the low-level interface (computing) between an application program and the operating system, between an application and its library (computer science), or between component parts of the application. An ABI differs from an application programming interface (API) in that an API defines the interface between source code and libraries, so that the same source code will compile on any system supporting that API, whereas an ABI allows compiled object code to function without changes on any system using a compatible ABI.

ABIs cover details such as the calling convention, which controls how function (programming)s arguments are passed and return values retrieved; the system call numbers and how an application should make system calls to the operating system; and in the case of a complete operating system ABI, the binary format of object files, program libraries and so on. A complete ABI, such as the Intel Binary Compatibility Standard (iBCS), allows a program from one operating system supporting that ABI to run without modifications on any other such system. Other ABIs standardize details such as the C plus plus name decoration and calling convention between compilers on the same platform, but do not require cross-platform compatibility.

Among Unix-like operating systems, where there are often many related but incompatible operating systems running on one hardware platform (particularly Intel 80386-compatible systems), there have been several attempts to standardise the ABI to reduce the effort required by application vendors to port their programs to different systems. However, to date none of these have met with much success, though the Linux Standard Base is trying to do this for Linux.

= See also =

  • Programming
  • Opaque pointer