Ir al contenido
Menú principal
Menú principal
mover a la barra lateral
ocultar
Navegación
Página principal
Cambios recientes
Página aleatoria
Ayuda sobre MediaWiki
Buscar
Buscar
español
Apariencia
Crear una cuenta
Acceder
Herramientas personales
No has accedido
Discusión
Contribuciones
Crear una cuenta
Acceder
Edición de «
Common Object File Format
»
Página
Discusión
español
Leer
Editar
Editar código
Ver historial
Herramientas
Herramientas
mover a la barra lateral
ocultar
Acciones
Leer
Editar
Editar código
Ver historial
General
Lo que enlaza aquí
Cambios relacionados
Información de la página
Apariencia
mover a la barra lateral
ocultar
Advertencia:
no has iniciado sesión. Tu dirección IP se hará pública si haces cualquier edición. Si
inicias sesión
o
creas una cuenta
, tus ediciones se atribuirán a tu nombre de usuario, además de otros beneficios.
Comprobación antispam. ¡
No
rellenes esto!
{{Infobox file format | name = COFF | extension = ninguna, <tt>.o</tt> | mime = | owner = [[AT&T Corporation]] | creatorcode = | genre = [[Archivo binario|Binario]], [[executable]], [[object code|object]], [[shared libraries]] | containerfor = | containedby = | extendedfrom = | extendido_a = [[XCOFF]], [[ECOFF]], [[Portable Executable]] }} El formato '''COFF''', también llamado '''Common Object File Format''', es una especificación de formato para archivos ejecutables, código objeto y bibliotecas compartidas, usada en sistemas Unix. Se introdujo en [[Unix System V]], remplazando al formato [[a.out]] usado anteriormente, y constituyó la base para especificaciones extendidas como [[XCOFF]] y [[ECOFF]], antes de ser reemplazado en gran medida por ELF, introducida por [[UNIX System V|SVR4]]. COFF y sus variantes siguen siendo usados en algunos sistemas [[Unix-like]], en [[Microsoft Windows]], en entornos [[EFI]] y en algunos sistemas de desarrollo embebidos. == Historia == El formato de archivo de objeto original de [[Unix]] —[[a.out]]— no era capaz de soportar adecuadamente bibliotecas compartidas (shared libraries), identificación de formatos extraños o enlazado explícito de direcciones. Como el desarrollo de los sistemas [[Unix-like]] continuaba tanto dentro como fuera de AT&T, surgieron diferentes soluciones a este y otros temas. '''COFF''' fue introducido en [[UNIX System V]] de AT&T para las plataformas de 32 bits no-VAX, como el 3B20. COFF implicó mejoras con respecto al formato [[a.out]], incluyendo secciones arbitrarias (de memoria), declaraciones explícitas de procesador, y la vinculación de direcciones explícita. Sin embargo, el diseño de COFF era limitado e incompleto: había un límite en el número máximo de secciones, un límite en la longitud de los nombres de sección incluyendo archivos fuente, y la información simbólica de depuración era incapaz de soportar lenguajes como [[C (lenguaje de programación)|C]], y mucho menos lenguajes más nuevos como [[C++]] o de soportar nuevos procesadores. Como resultado de esto, en el mundo real, todas las implementaciones de COFF necesariamente fueron violaciones de los estándares. Esto condujo a numerosas extensiones COFF. [[IBM]] usó el formato [[XCOFF]] en su sistema operativo [[AIX]]. [[Digital Equipment Corporation|DEC]], [[Silicon Graphics|SGI]] y otros usaron [[ECOFF]]. Numerosas adaptaciones de [[UNIX System V|SysV]] y herramientas de desarrollo para sistemas empotrados utilizaron sus propias variaciones, normalmente incompatibles entre ellas. Con el lanzamiento de {{abreviación|SVR4|UNIX System V Release 4}}, AT&T remplaza COFF con [[Executable and Linkable Format|ELF]]. Mientras que las versiones extendidas de COFF se siguen utilizando en algunas [[Unix-like|plataformas tipo Unix]], principalmente en sistemas embebidos, quizás el uso más extendido del formato COFF hoy en día está en el formato [[Portable Executable]] (PE) de Microsoft. Desarrollado para [[Windows NT]], el formato PE (a veces escrito como PE/COFF) usa una cabecera COFF para archivos objeto, y como un componente de la cabecera de PE para archivos ejecutables.<ref>{{Citation|title=Common Object File Format (COFF)|edition=Revisión 4.1|year=2006b|author=Microsoft Corporation|url=http://support.microsoft.com/?id=121460|accessdate=2 de junio de 2007}}</ref> == Características == La mejora más importante que trajo COFF sobre [[a.out]] fue la introducción de múltiples secciones con nombre en el [[código objeto|archivo objeto]]. Diferentes archivos objeto pueden tener diferentes números y tipos de secciones. === Información de depuración simbólica === La información de depuración simbólica en los archivos COFF consta de (cadenas de) nombres simbólicos para las funciones y variables del programa, así como la información del número de línea, utilizada para establecer [[breakpoint|puntos de interrupción]] y rastreo de ejecución. Los nombres simbólicos son almacenados en la tabla de símbolos de COFF. Cada elemento de la tabla incluye un nombre, clase de almacenamiento, tipo, valor y número de sección. Los nombres cortos (de 8 caracteres o menos) se almacenan directamente en la tabla de símbolos, y los nombres largos se almacenan como un desplazamiento dentro de la tabla de cadenas de caracteres, al final del objeto COFF. === Dirección virtual relativa === Cuando se genera un archivo COFF, no se sabe con certeza adónde será cargado en memoria. La dirección virtual en la que se cargará el primer [[byte|octeto]] del archivo se denomina dirección base de la imagen. El resto del archivo no será necesariamente cargado en bloques contiguos, pero sí en diferentes secciones. == Véase también == * [[Anexo:Comparación de formatos de archivos ejecutables]] == Referencias == {{listaref}} == Bibliografía == * {{cita libro|apellido=Gircys|nombre=Gintaras|año=1988|título=Understanding and Using COFF|url=https://archive.org/details/understandingusi0000girc|editorial=O'Reilly and Associates|isbn=0-937175-31-5|idioma=inglés}} <!-- Categorías --> {{Control de autoridades}} [[Categoría:Formatos de archivos informáticos]] [[Categoría:Formatos de archivos ejecutables]] <!-- Interwikis -->
Resumen:
Al guardar los cambios aceptas los
términos de uso
y liberas de forma irrevocable tu contribución conforme a los términos de las licencias
licencia CC BY-SA 4.0
y
GFDL
. Aceptas igualmente que un hipervínculo o URL es atribución suficiente conforme a la licencia Creative Commons.
Cancelar
Ayuda de edición
(se abre en una ventana nueva)
Buscar
Buscar
Edición de «
Common Object File Format
»
Añadir idiomas
Añadir tema