En los programas informáticos, un interfaz de binario de uso del ( ABI ) describe el interfaz bajo entre un programa de aplicación y el sistema operativo, o el interfaz entre un uso y sus bibliotecas, o ésa entre las piezas de un uso. Un ABI es similar a un interfaz de programación de uso (API), no obstante este 3ultimo define un interfaz del código fuente . Puesto simplemente, ABIs permite compatibilidad binaria, mientras que los APIs permiten compatibilidad del código fuente.

Por ejemplo, el estándar POSIX define un API que permita que una amplia gama de las funciones de computación comunes sea escrita tales que pueden gestionar encendido muchos diversos sistemas (el mac OS x, varios DEB y Microsoft Windows todo ejecuta este interfaz), sin embargo, hacer uso de esto requiere la recompilación para cada plataforma. Un ABI compatible, por una parte, permite que el código de objeto compilado funcione sin ningunos cambios, en cualquier sistema que ejecuta ese ABI. Esto es advantagous a los abastecedores de software (donde pueden distribuir software existente en nuevos sistemas sin producir/las mejoras de distribución) y usuarios (donde pueden instalar un más viejo software en sus nuevos sistemas sin la compra de mejoras), aunque esto requiera generalmente las varias bibliotecas de software que ejecutan los APIs necesarios también.

Microsoft ha demostrado la comisión significativa a a al revés - ABI compatible, particularmente dentro de su biblioteca Win32, tales que más viejos usos pueden funcionar en más nuevas versiones de Windows. Apple ha demostrado menos propensión a esta preocupación, compatibilidad de expiración o ABI de la ejecución en un " más lento; mode" de la emulación; ; muchos sostienen que éste permite la mayor libertad en el desarrollo en el coste de obsoleting un más viejo software. Entre Unix-como sistemas operativos de, hay muchos sistemas operativos relacionados pero incompatibles que funcionan en una plataforma de hardware común (particularmente Intel 80386 - sistemas compatibles). Ha habido varias tentativas de estandardizar el ABI tales que los proveedores de software pueden distribuir un uso binario para todos estos sistemas, al menos hasta la fecha, ningunos de éstos se han encontrado con mucho éxito. La base estándar del linux está intentando hacer esto para la plataforma del linux mientras que muchos de los unices del DEB ( OpenBSD / NetBSD / FreeBSD ) ejecutan varios niveles de compatibilidad de ABI para ambos compatibilidad cruzada de la plataforma de la compatibilidad hacia atrás (que permite los usos escritos para más viejas versiones al funcionamiento en más nuevas distribuciones del sistema) también (que permite la ejecución del código extranjero sin la recompilación).

Detalles de la cubierta de ABIs tales como el que llaman la convención, que controla cómo las discusiones de las funciones se pasan y de vuelta los valores recuperados; los números de la llamada de sistema y cómo un uso debe hacer llamadas de sistema al sistema operativo; y en el caso de un sistema operativo completo ABI, el formato binario de las bibliotecas de programas de los ficheros objeto y así sucesivamente. Un ABI completo, tal como el estándar de la compatibilidad binaria de Intel (iBCS), permite un programa a partir de un sistema operativo que apoya ese ABI al funcionamiento sin modificaciones en cualquier otro tal sistema. El otro ABIs estandardiza los detalles tales como la decoración conocida C++, propagación de la excepción, y llamada de la convención entre los recopiladores en la misma plataforma, pero no requiere compatibilidad de la cruz-plataforma.

Ver también

que programa
Indicador opaco
Ambiente de PowerOpen
Interfaz de binario de uso encajado

.

  • Zenithic
  • Liepāja lake
    Random links:Friedensburg, Pennsylvania | Walt Sweeney | Cuadrado de Wooster | Información física extrema | George C. Pimentel

  • © 2007-2008 enciclopediaespana.com; article text available under the terms of GFDL, from en.wikipedia.org
    ="http://pagead2.googlesyndication.com/pagead/show_ads.js">