Qual è la differenza tra costruzione e compilazione?


Risposte:


34

La compilazione fa parte di un processo di compilazione.

Un processo di compilazione può includere test, packaging e altre attività oltre alla compilazione.


19

"Costruzione" è un termine abbastanza generico e può fare riferimento a tutto ciò che è necessario per passare da materiale di origine modificabile (codice sorgente, script, file di dati non elaborati, ecc.) A un prodotto software spedibile. La costruzione può (e di solito lo fa) comportare diverse fasi, come pre-elaborazione, compilazione, collegamento, conversione di file di dati, esecuzione di test automatizzati, packaging, ecc.

La "compilazione" è più specifica e quasi invariabilmente si riferisce a un processo che utilizza il codice sorgente come input e produce qualcosa di eseguibile, in genere codice macchina per una macchina fisica o virtuale o codice sorgente in una lingua diversa.


9

Questi termini sono spesso usati in modo intercambiabile, ma li differenzerei nel modo seguente:

  • La costruzione viene eseguita durante la preparazione di una domanda di rilascio, che include compilazione, imballaggio, test, ecc.
  • La compilazione viene eseguita in qualsiasi momento il compilatore è coinvolto nella traduzione del codice del linguaggio di programmazione in codice macchina.

Pertanto, la compilazione è davvero un sottoinsieme di edifici.


1
"La costruzione è fatta quando si prepara un'applicazione per il rilascio" - non dire che la folla di integrazione continua;) O qualsiasi altro avido utente di build automatiche, del resto.

1
@delnan: concordato. L'integrazione continua crea molte "build" nel corso della vita di un'applicazione. Tuttavia, una o tutte queste build potrebbero essere utilizzate in preparazione di una versione pubblica. Dipende dai processi di costruzione, test e approvazione.
Bernard,

3
Bene, secondo la continua folla di consegna, ognuna di queste build dovrebbe essere pronta per il rilascio. Ma la pratica dice il contrario, e in genere le "build" possono servire a qualsiasi scopo aiutato preparando il software a eseguirlo e testarlo. Build di debug, ad esempio. O verificando che le modifiche non abbiano interrotto nessuno dei 16 milioni di test.

2
@delnan - Che ne dici di una build che non supera i suoi test? Secondo gli standard della consegna continua cantata, è una build ma non pronta per il rilascio :)
Oded

2

La compilazione viene eseguita dal compilatore, la compilazione può essere un processo più complesso.

Per esempio. in C ++ per creare un progetto è necessario il preprocessore (preelaborazione dei file di origine); compilatore (compilazione di file sorgente); linker (unendo tutto in eseguibile - codice compilato, icone, stringhe, altre risorse insieme)

Quindi in genere la compilazione sta traducendo il codice scritto in una lingua in un'altra (ad es. Codice macchina).

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.