¿Cuál es la diferencia entre construir y compilar?


Respuestas:


34

Compilar es parte de un proceso de compilación.

Un proceso de compilación puede incluir pruebas, empaques y otras actividades además de la compilación.


19

"Construir" es un término bastante general, y puede referirse a todo lo que se necesita para pasar de material fuente editable (código fuente, scripts, archivos de datos sin formato, etc.) a un producto de software que se puede enviar. La construcción puede (y generalmente lo hace) implicar varios pasos, como preprocesamiento, compilación, vinculación, conversión de archivos de datos, ejecución de pruebas automatizadas, empaquetado, etc.

"Compilar" es más específico, y casi invariablemente se refiere a un proceso que toma el código fuente como su entrada, y genera algo ejecutable, típicamente código de máquina para una máquina física o virtual, o código fuente en un idioma diferente.


9

Estos términos a menudo se usan indistintamente, pero los diferenciaría de la siguiente manera:

  • La construcción se realiza al preparar una aplicación para su lanzamiento, que incluye compilación, empaquetado, prueba, etc.
  • La compilación se realiza en cualquier momento en que el compilador participa en la traducción del código del lenguaje de programación al código de máquina.

Por lo tanto, compilar es realmente un subconjunto de construcción.


1
"La construcción se realiza cuando se prepara una aplicación para su lanzamiento"; no se diga que la integración continua se aglomera;) O cualquier otro usuario ávido de compilaciones automáticas, para el caso.

1
@delnan: De acuerdo. La integración continua crea muchas "compilaciones" durante la vida útil de una aplicación. Sin embargo, cualquiera o todas estas compilaciones podrían usarse en preparación para un lanzamiento público. Depende de sus procesos de compilación, prueba y aprobación.
Bernard

3
Bueno, según la multitud de entregas continuas, cada una de estas compilaciones debería estar lista para su lanzamiento. Pero la práctica dice lo contrario y, en general, las "compilaciones" pueden servir para cualquier propósito que ayude al preparar el software para ejecutarlo y probarlo. Depuración de compilaciones, por ejemplo. O comprobar que sus cambios no superaron ninguna de las 16 millones de pruebas.

2
@delnan - ¿Qué pasa con una compilación que falla sus pruebas? Según los estándares de la entrega continua llena, es una construcción pero no está lista para su lanzamiento :)
Oded

2

La compilación se realiza por compilador, la compilación puede ser un proceso más complejo.

P.ej. en C ++ para hacer una compilación de un proyecto necesita un preprocesador (preprocesamiento de archivos fuente); compilador (compilación de archivos fuente); enlazador (fusionar todo en ejecutable - código compilado, iconos, cadenas, otros recursos juntos)

En general, compilar es traducir el código escrito en un idioma a otro (por ejemplo, código de máquina).

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.