FACTOID # 2: Puerto Rico has roughly the same gross state product as Montana, Wyoming and North Dakota combined.
 
 Home   Encyclopedia   Statistics   States A-Z   Flags   Maps   FAQ   About 
   
 
WHAT'S NEW
 

SEARCH ALL

FACTS & STATISTICS    Advanced view

Search encyclopedia, statistics and forums:

 

 

(* = Graphable)

 

 


Encyclopedia > Application binary interface

In computer software, an application binary interface (ABI) describes the low-level interface between an application program and the operating system, between an application and its libraries, 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. Software redirects here. ... An interface is a specification that exists between software components that specifies a selected means of interaction, by means of properties of other software modules, which abstract and encapsulate their data. ... An operating system (OS) is the software that manages the sharing of the resources of a computer and provides programmers with an interface used to access those resources. ... Illustration of an application which may use libvorbisfile. ... API and Api redirect here. ... Source code (commonly just source or code) is any series of statements written in some human-readable computer programming language. ... A diagram of the operation of a typical multi-language, multi-target compiler. ...


For example, the POSIX standard defines an API that allows a wide range of common computing functions to be written such that they may operate on many different systems (Mac OS X, various BSDs and Microsoft Windows all implement this interface), however, making use of this requires re-compilation for each platform. A compatible ABI, on the other hand, allows compiled object code to function without any changes, on any system implementing that ABI. This is advantagous to both software providers (where they may distribute existing software on new systems without producing/distributing upgrades) and users (where they may install older software on their new systems without purchasing upgrades), although this generally requires various software libraries implementing the necessary APIs too. POSIX or Portable Operating System Interface[1] is the collective name of a family of related standards specified by the IEEE to define the application programming interface (API) for software compatible with variants of the Unix operating system. ... Mac OS X (pronounced ) is a line of graphical operating systems developed, marketed, and sold by Apple Inc. ... BSD redirects here. ... Windows redirects here. ... A diagram of the operation of a typical multi-language, multi-target compiler. ... In computer science, object file or object code is an intermediate representation of code generated by a compiler after it processes a source code file. ...


Microsoft have shown significant commitment to a backward compatible ABI, particularly within their Win32 library, such that older applications may run on newer versions of Windows. Apple have shown less propensity to this concern, expiring compatibility or implementing ABI in a slower "emulation mode"; many argue that this allows greater freedom in development at the cost of obsoleting older software. Among Unix-like operating systems, there are many related but incompatible operating systems running on a common hardware platform (particularly Intel 80386-compatible systems). There have been several attempts to standardise the ABI such that software vendors may distribute one binary application for all these systems, however to date, none of these have met with much success. The Linux Standard Base is attempting to do this for the Linux platform whilst many of the BSD unices (OpenBSD/NetBSD/FreeBSD) implement various levels of ABI compatablity for both backward compatibility (allowing applications written for older versions to run on newer distributions of the system) as well cross platform compatibility (allowing the execution of foreign code without recompilation). Windows API is a set of APIs, (application programming interfaces) available in the Microsoft Windows operating systems. ... Diagram of the relationships between several Unix-like systems A Unix-like operating system is one that behaves in a manner similar to a Unix system, while not necessarily conforming to or being certified to any version of the Single UNIX Specification. ... The Intel386[1] is a microprocessor which was used as the central processing unit (CPU) of many personal computers from 1986 until 2007. ... The Linux Standard Base, or LSB, is a joint project by several GNU/Linux distributions under the organizational structure of The Free Standards Group to standardize the internal structure of Linux-based operating systems. ... This article is about operating systems that use the Linux kernel. ...


ABIs cover details such as the calling convention, which controls how functions' 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),[1] 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++ name decoration,[2] exception propagation,[3] and calling convention between compilers on the same platform, but do not require cross-platform compatibility. To meet Wikipedias quality standards, this article or section may require cleanup. ... In computer science, a subroutine (function, procedure, or subprogram) is a sequence of code which performs a specific task, as part of a larger program, and is grouped as one, or more, statement blocks; such code is sometimes collected into software libraries. ... In computing, a system call is the mechanism used by an application program to request service from the operating system. ... In computer science, object file or object code is an intermediate representation of code generated by a compiler after it processes a source code file. ... Intel Corporation (NASDAQ: INTC, SEHK: 4335), founded in 1968 as Integrated Electronics Corporation, is an American multinational corporation that is best known for designing and manufacturing microprocessors and specialized integrated circuits. ... In software compiler engineering, name mangling (more properly called name decoration, although this term is less commonly used) is a technique used to solve various problems caused by the need to resolve unique names for programming entities in many modern programming languages. ... Exception handling is a programming language construct or computer hardware mechanism designed to handle the occurrence of some condition that changes the normal flow of execution. ...

Image File history File links Mergefrom. ... An embedded-application binary interface (EABI) specifies standard conventions for file formats, data types, register usage, stack frame organization, and function parameter passing of an embedded software program. ...

See also

Computer programming (often simply programming) is the craft of implementing one or more interrelated abstract algorithms using a particular programming language to produce a concrete computer program. ... In computer programming, an opaque pointer is a datatype that hides its internal implementation using a pointer. ... The PowerOpen Environment (POE), created in 1991, is an open standard for running a Unix-based operating system on the PowerPC computer architecture. ... An embedded-application binary interface (EABI) specifies standard conventions for file formats, data types, register usage, stack frame organization, and function parameter passing of an embedded software program. ...

References

  1. ^ Intel Binary Compatibility Standard (iBCS)
  2. ^ Itanium C++ ABI (compatible with multiple architectures)
  3. ^ Itanium C++ ABI: Exception Handling (compatible with multiple architectures)

External links

  • Application Binary Interface (ABI) for the ARM Architecture
  • MIPS EABI documentation

 
 

COMMENTARY     


Share your thoughts, questions and commentary here
Your name
Your comments

Want to know more?
Search encyclopedia, statistics and forums:

 


Press Releases |  Feeds | Contact
The Wikipedia article included on this page is licensed under the GFDL.
Images may be subject to relevant owners' copyright.
All other elements are (c) copyright NationMaster.com 2003-5. All Rights Reserved.
Usage implies agreement with terms, 1022, m