En informática , el tiempo de compilación es el período durante el cual un compilador procesa el código fuente para convertirlo en otro código más fácilmente ejecutable , generalmente código objeto o código de bytes . [ 1 ] El tiempo de compilación es una fase del ciclo de vida operativo de un programa, ya que pasa del desarrollo a la ejecución . El tiempo que tarda en compilarse se suele denominar tiempo de compilación, aunque también se puede utilizar el término tiempo de compilación .
El tiempo de compilación se puede subdividir según las fases de un compilador. La mayoría de los compiladores tienen al menos las siguientes fases: análisis sintáctico , análisis semántico y generación de código . Muchos compiladores incluyen una o más fases de optimización. Por ejemplo, cada expresión constante puede evaluarse mediante ejecución en tiempo de compilación para producir un valor que mejore el rendimiento en tiempo de ejecución. [ 2 ] [ 3 ]
Las propiedades de un programa que se pueden determinar en tiempo de compilación incluyen comprobaciones de rango (por ejemplo, demostrar que un índice de matriz no excederá los límites de la matriz), ausencia de interbloqueos en lenguajes concurrentes o tiempos (por ejemplo, demostrar que una secuencia de código no tarda más de un tiempo asignado). Para lenguajes de tipado estático como C++ , Java o Rust , los tipos se comprueban en tiempo de compilación para garantizar la seguridad de tipos . [ 4 ]
La compilación suele formar parte del proceso de construcción (durante la fase de construcción). La construcción también puede incluir el enlace (durante la fase de enlace). El tiempo de ejecución es el tiempo durante el cual el programa está en funcionamiento.
A menudo, la compilación se realiza como un paso independiente antes de ejecutar un programa. Sin embargo, con la compilación dinámica , la transformación a lenguaje máquina se produce como parte del proceso de ejecución , integrando así el tiempo de ejecución y el tiempo de compilación. Generalmente, esto se divide en dos procesos distintos: un proceso de compilación que convierte el código fuente en una representación intermedia (RI) y un proceso de ejecución que convierte la RI en código máquina.
Véase también
- Compilación anticipada : estrategia de compilación de código informático
- Compilación justo a tiempo : compilación de código de bytes a código máquina en tiempo de ejecución.
- Sistema de tipos – Concepto de informática
Referencias
- ↑ "Historia de los lenguajes de programación informática" . Consultado el 25 de diciembre de 2022 .
- ↑ Yongwei, Wu (7 de octubre de 2024). "Programación en tiempo de compilación de C++" . accu.org . Consultado el 26 de abril de 2025 .
- ↑ "Evaluación en tiempo de compilación" . C3 . Consultado el 26 de abril de 2025 .
- ↑ "Tipos de datos - El lenguaje de programación Rust" . doc.rust-lang.org . Consultado el 26 de abril de 2025 .
- Construcción de compiladores