Qual è la differenza tra la compilazione e la compilazione?

28

Qual è la differenza tra costruire e compilare.

    
posta Vishwas 18.03.2012 - 19:38
fonte

4 risposte

33

La compilazione è parte di un processo di compilazione.

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

    
risposta data 18.03.2012 - 19:43
fonte
17

"Costruire" è un termine abbastanza generico e può riferirsi a tutto ciò che è necessario per passare da materiale di origine modificabile (codice sorgente, script, file di dati grezzi, ecc.) a un prodotto software spedibile. Building può (e di solito fa) coinvolgere diversi passaggi, 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 prende come input il codice sorgente e genera qualcosa di eseguibile, in genere codice macchina per una macchina fisica o virtuale o codice sorgente in una lingua diversa. / p>     

risposta data 18.03.2012 - 21:24
fonte
9

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

  • Lo sviluppo viene eseguito durante la preparazione di un'applicazione per il rilascio, che include la compilazione, il confezionamento, il test, ecc.
  • La compilazione viene eseguita in qualsiasi momento in cui il compilatore è coinvolto nella traduzione del codice del linguaggio di programmazione in codice macchina.

Quindi, la compilazione è in realtà un sottoinsieme di costruzione.

    
risposta data 18.03.2012 - 19:47
fonte
2

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

Eg. in C ++ per creare una build di un progetto è necessario il preprocessore (pre-elaborazione dei file sorgente); compilatore (compilazione di file sorgente); linker (fusione di tutto in eseguibile - codice, icone, stringhe, altre risorse compilati insieme)

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

    
risposta data 18.03.2012 - 23:02
fonte