¿Qué es un archivo de objeto?

Un archivo de objeto es un archivo de computadora generado por un programa llamado compilador y contiene datos, así como instrucciones. Los compiladores traducen el código fuente del lenguaje de programación en un formulario intermedio legible por máquina conocido como código de objeto. Los programas más pequeños pueden compilarse en un solo archivo de objeto, mientras que los programas más grandes generalmente se compilan en varios archivos de función relacionada. Estos archivos de objetos individuales se unen por un enlazador y se agrega información específica del sistema operativo para formar un programa ejecutable.

En la práctica común, un archivo de objeto se denota mediante una extensión del archivo ".obj". Sin embargo, hay varios formatos diferentes para estos archivos. Los más comunes son el formato de módulo de objeto reubicable Intel® (OMF), y el formato de archivo de objeto común (COFF) de Windows & Reg y Unix® System V. En muchos sistemas INIX®, el formato ejecutable y vinculable (ELF) ha llegado a reemplazar a COCF.

Independientemente del formato, un archivo de objeto típicamente contiene información de tres tiposEso le permite interactuar con otros módulos de programa. Los procedimientos y los datos que están abiertos a la referencia externa se asignan nombres por los cuales se les puede llamar desde otros módulos. Del mismo modo, se observan referencias a información fuera del módulo pero no se les asigna un nombre. Cuando los archivos están vinculados, a las referencias no identificadas se les asignará el nombre dado en el módulo donde se definieron originalmente. Los nombres locales se utilizan para instrucciones y datos mencionados únicamente dentro de un módulo.

No todo el código vinculable se almacena como archivos de objetos. Las bibliotecas son colecciones de rutinas precompiladas que se almacenan como código de objeto. Se producen de la misma manera que los archivos de objetos y son útiles para almacenar los procedimientos llamados con frecuencia. Cuando un enlazador no encuentra una referencia dentro de otros archivos de objetos, lo buscará automáticamente en un archivo de biblioteca. La mayoría de las implementaciones de un lenguaje de programaciónVen con una biblioteca estándar de funciones.

Por medio de la vinculación dinámica, un archivo de objeto puede ser utilizado simultáneamente mediante múltiples programas de ejecución. En lugar de vincular el código de objeto a un programa cuando está vinculado, se recupera cuando el programa se carga o en tiempo de ejecución cuando se hace referencia a un procedimiento. En el entorno de Windows®, se conocen como bibliotecas de enlaces dinámicos y se denotan por una extensión ".dll". Los sistemas similares a Unix® a menudo llaman este tipo de archivo un objeto compartido dinámico (DSO). Este tipo de archivo de objeto también se puede implementar para su uso con un programa en particular y sería parte de la instalación de ese programa.

OTROS IDIOMAS