Mostrando entradas con la etiqueta código de máquina. Mostrar todas las entradas
Mostrando entradas con la etiqueta código de máquina. Mostrar todas las entradas

abril 06, 2010

Código objeto.

Se llama código objeto al código que resulta de la compilación del código fuente (código de máquina). Para que los programas en código objeto puedan ser ejecutados necesitamos de un cargador (que traslada un programa a la memoria de la computadora) y de un enlazador (que une varios módulos en uno sola unidad ejecutable).

Códigos de Bytes.

Los Bytecodes o códigos de bytes son un conjunto de instrucciones muy parecidas al código máquina, pero que no son específicas para algún procesador.

Cuando compila un programa escrito en C o en cualquier otro lenguaje, por lo general el compilador traduce su programa a códigos de máquina o instrucciones del procesador que son específicos para el procesador que su computadora ejecuta. Por lo tanto, si desea utilizar el mismo programa en otro sistema, tendrá que regresar al código fuente original, obtener un compilador para ese sistema y volver a compilar su código. El resultado de este sistema: múltiples programas ejecutables para múltiples sistemas.

Sin embargo, este panorama es distinto cuando escribe código en Java. El ambiente de desarrollo tiene dos partes: un compilador Java y un intérprete Java. El compilador Java toma su programa y en lugar de generar códigos de máquina para sus códigos fuente, genera un bytecode.
Para ejecutar un programa en Java, debe ejecutar un programa llamado intérprete de bytecode, el cual a su vez ejecuta su programa Java.

El hecho de tener sus programas en forma de bytecodes, significa que en lugar de ser específico con respecto a algún sistema, puede ejecutar sus programas en cualquier sistema operativo, siempre que se encuentre disponible el intérprete Java.

La desventaja de utilizar bytecodes se halla en la velocidad de ejecución. Puesto que los programas específicos del sistema corren directamente en el hardware en que se compilaron éstos, se ejecutan más rápido que los bytecodes de Java los que, a su vez, deben ser procesados por el intérprete.

Compilador.

Un compilador es un programa que lee un programa escrito en un lenguaje, el lenguaje fuente, y lo traduce a un programa equivalente en otro lenguaje, el lenguaje objeto. Como parte importante de este proceso de traducción, el compilador informa a su usuario de la presencia de errores en el programa fuente. Una vez que se obtiene el lenguaje objeto este es independiente del código fuente.


Los compiladores tradicionales traducen el código fuente a código de máquina.

Bibliografía consultada:
  • Lenguaje y Compiladores, Iván Pérez, pág. 12, Primera Edición 2005, Publicaciones UCAB.