Compilación

Compilación
El programa escrito en un [|lenguaje de programación] (fácilmente comprensible por el [|programador]) es llamado //programa fuente// y no se puede ejecutar directamente en una computadora. La opción más común es //compilar// el programa obteniendo un módulo objeto, aunque también puede ejecutarse en forma más directa a través de un [|intérprete informático]. El código fuente del [|programa] se debe someter a un [|proceso de traducción] para convertirlo en lenguaje máquina, código éste directamente ejecutable por el [|procesador]. A este proceso se le llama //[|compilación]//. Normalmente la creación de un programa [|ejecutable] (un típico.exe para [|Microsoft Windows] o [|DOS]) conlleva dos pasos. El primer paso se llama compilación (propiamente dicho) y traduce el código fuente escrito en un [|lenguaje de programación] almacenado en un archivo a código en bajo nivel (normalmente en código objeto, no directamente a lenguaje máquina). El segundo paso se llama //[|enlazado]// en el cual se enlaza el código de bajo nivel generado de todos los ficheros y subprogramas que se han mandado compilar y se añade el código de las funciones que hay en las bibliotecas del compilador para que el ejecutable pueda comunicarse directamente con el sistema operativo, traduciendo así finalmente el [|código objeto] a [|código máquina], y generando un módulo ejecutable. Estos dos pasos se pueden hacer por separado, almacenando el resultado de la fase de compilación en archivos objetos (un típico.obj para Microsoft Windows, DOS o para [|Unix]); para enlazarlos en fases posteriores, o crear directamente el ejecutable; con lo que la fase de compilación se almacena sólo temporalmente. Un programa podría tener partes escritas en varios lenguajes (por ejemplo [|C], [|C++] y [|ensamblador]), que se podrían compilar de forma independiente y luego enlazar juntas para formar un único módulo [|ejecutable].