En informática , el código objeto o módulo objeto es el producto de un ensamblador o compilador . [ 1 ]
En términos generales, el código objeto es una secuencia de sentencias o instrucciones en un lenguaje informático, [ 2 ] generalmente un lenguaje de código máquina (es decir, binario ) o un lenguaje intermedio como el lenguaje de transferencia de registros (RTL). El término indica que el código es el objetivo o resultado del proceso de compilación, y algunas fuentes antiguas se referían al código fuente como un "programa sujeto". [ 3 ]
Detalles
Los archivos objeto pueden, a su vez, enlazarse para formar un archivo ejecutable o un archivo de biblioteca . Para poder utilizarse, el código objeto debe ubicarse en un archivo ejecutable, un archivo de biblioteca o un archivo objeto.
El código objeto es una porción de código máquina que aún no se ha enlazado a un programa completo. Es el código máquina de una biblioteca o módulo específico que conformará el producto final. También puede contener marcadores de posición o desplazamientos, que no se encuentran en el código máquina de un programa completo, y que el enlazador utilizará para conectar todos los elementos. Mientras que el código máquina es código binario que la CPU puede ejecutar directamente, el código objeto tiene los saltos y las referencias entre módulos parcialmente parametrizados para que el enlazador pueda completarlos. Se asume que un archivo objeto comienza en una ubicación específica de la memoria, generalmente cero. Contiene información sobre las instrucciones que hacen referencia a la memoria, de modo que el enlazador pueda reubicar el código al combinar varios archivos objeto en un solo programa.
Un ensamblador se utiliza para convertir código ensamblador en código máquina (código objeto). Un enlazador enlaza varios archivos objeto (y de biblioteca) para generar un ejecutable. Los ensambladores (y algunos compiladores) también pueden ensamblar directamente a código máquina para producir archivos ejecutables sin el paso intermedio del objeto. [ 4 ]
Referencias
- ↑ "Compilador" . TechTarget. Archivado del original el 29 de abril de 2012. Recuperado el 1 de septiembre de 2011.
Tradicionalmente, el resultado de la compilación se ha denominado código objeto o, a veces, módulo objeto.
- ↑ Aho, Alfred V. ; Sethi, Ravi ; Ullman , Jeffrey C. (1986). "10 Optimización de código" . Compiladores: principios, técnicas y herramientas . Ciencias de la Computación. Mark S. Dalton. pág. 704. ISBN 0-201-10194-7.
- ↑ Luebbert, William F.; Collom jr., Percy (febrero de 1959). "Investigación y desarrollo del Cuerpo de Señales sobre la programación automática de computadoras digitales". Communications of the ACM . 2 (2): 22– 27. doi : 10.1145/368280.368293 .
- ↑ Fischer, Charles N. "¿Qué producen los compiladores?" (PDF) . Universidad de Wisconsin Madison . Consultado el 2 de abril de 2024 .
- Código máquina