Tecnología

Inicio

Cómo entender los compiladores de C ++

Un compilador es un programa que traduce el código fuente en un lenguaje similar a la humana en instrucciones de máquina. El producto final es un archivo ejecutable. Los compiladores generan los programas más eficientes. Pueden crear archivos de la biblioteca que se esconden aplicación para que aquellos se pueden ligar en el programa principal. compilación C ++ es un proceso que implica varias fases.

Instrucciones

1 Comprender la fase preprocesador. compiladores de C ++ comienzan compilación ejecutando un programa simple llamado el preprocesador. El preprocesador convierte las directivas del preprocesador y escribe el resultado en un archivo intermedio. directivas de preprocesador son fórmulas que aumentan la legibilidad de código fuente y ahorra tener que escribir.

2 Comprender la fase de exploración. Esto también se llama la fase de análisis léxico. A continuación, el código fuente se divide en sus unidades últimas llamadas fichas. El testigo puede ser una palabra clave, un identificador o un nombre de símbolo.

3 Identificar la fase de análisis. Esto también se conoce como "análisis sintáctico." En este caso, la secuencia lineal de las fichas de la fase anterior se reorganizó el en una estructura llamada un árbol de análisis. Un árbol de análisis sintáctico es una estructura construida por las reglas de la gramática formal que define la sintaxis de C ++.

4 Obtener información acerca de la fase de análisis semántico. Aquí el compilador aumenta el árbol de análisis sintáctico y construye la tabla de símbolos. Esta fase consiste en la verificación de tipos (prevención de errores relacionados con el tipo de juego), objeto de enlace (conexión de las definiciones a las declaraciones de funciones y clases), la asignación definitiva (inicialización y procesamiento de la sobrecarga de operadores) y la identificación de las advertencias y errores.

5 Agarre la fase de optimización independiente de la máquina. Aquí un programa llamado un optimizador global se utiliza para producir código intermedio que está optimizado para una mejor eficiencia.

6 Revisar la fase de generación de código. Aquí es donde el código intermedio se transforma en el lenguaje máquina del sistema. Esto puede ser o bien el lenguaje ensamblador o lenguaje de máquina. Si se trata de lenguaje ensamblador el ensamblador, un programa, es ejecutado. En ambos casos el resultado es módulos de objetos que tengan por extensión, "obj".

7 Familiarizarse con la "optimización depende de la máquina." En esta fase el código de máquina que se ha generado se optimiza aún más.

8 Familiarizarse con la vinculación. Aquí, un programa llamado enlazador combina los módulos de objeto optimizadas en un programa ejecutable con el familiar ".exe" extensión que se puede cargar en la memoria y ejecutado por el sistema operativo. El enlazador resuelve las referencias a las funciones a través de archivos tales como módulos de objetos o archivos de la biblioteca.