Herramientas de usuario

Herramientas del sitio


arm_compilacion

¡Esta es una revisión vieja del documento!


El Proceso de Compilación

Introducción

Vamos analizar por separado las etapas más importantes que comprenden el proceso de compilación (preprocesamiento, generación de código y enlace), y también se presentará una forma de automatizar ese proceso (mediante la herramienta make), en especial cuando los proyectos adquieren tamaños considerables e involucran varios archivos fuente, de cabecera o bibliotecas.

Proceso de Compilación

En el ámbito de las computadoras, los algoritmos se expresan mediante lenguajes de programación, como C, Python, C#, Java, Ensamblador, etc. Sin embargo, esta representación no es suficiente, ya que el procesador necesita una expresión mucho más detallada del algoritmo, que especifique en forma explícita todas las señales eléctricas que involucra cada operación.

La tarea de traducción de un programa desde un lenguaje de programación de alto nivel hasta el lenguaje de máquina se denomina compilación, y la herramienta encargada de ello es el compilador. En la figura siguiente se pueden distinguir las etapas más importantes:

Preprocesamiento

La primera etapa del proceso de compilación se conoce como preprocesamiento. En ocasiones a esta etapa ni siquiera se la considera parte de la compilación, ya que es una traducción previa y básica que tiene como finalidad “acomodar” el código fuente antes de que éste sea procesado por el compilador en sí.

El preprocesador modifica el código fuente según las directivas que haya escrito el programador. Por ejemplo en lenguaje C, estas directivas se reconocen en el código fuente porque comienzan con el carácter #, (por ejemplo, #define… o #include…):

   #define, #undef, #error, #include
   

Compilación

La compilación es el proceso que, en sí, traduce el lenguaje de alto nivel en lenguaje de máquina. Dentro de esta etapa pueden reconocerse, al menos, cuatro fases:

  • Análisis léxico.
  • Análisis sintáctico.
  • Análisis semántico.
  • Generación de código.

El análisis léxico extrae del archivo fuente todas las cadenas de caracteres que reconoce como parte del vocabulario y genera un conjunto de tokens como salida. En caso de que parte del archivo de entrada no pueda reconocerse como lenguaje válido, se generarán los mensajes de error correspondientes.

× iphelper toolbox

you see this when javscript or css is not working correct

Untested
IP Address:
First usable:
Subnet:
Last usable:
CIDR:
Amount of usable:
Network address:
Reverse address:
Broadcast address:

arm_compilacion.1588115658.txt.gz · Última modificación: 2020/04/28 23:14 por mariano