Compilation:
* Cos'è: La compilazione è il processo di traduzione del codice sorgente (codice leggibile dall'uomo scritto da un programmatore) nel codice macchina (istruzioni binarie che il processore di un computer può comprendere ed eseguire direttamente). Il compilatore è un programma speciale che esegue questa traduzione.
* Output: L'output della compilation è un file eseguibile (ad esempio un file `.exe` su Windows o un semplice binario su Linux/macOS). Questo file contiene le istruzioni del codice macchina.
* processo: Il compilatore controlla il codice sorgente per errori (errori di sintassi, errori semantici, ecc.). Se vengono rilevati errori, la compilazione non riesce e il programmatore deve correggere gli errori nel codice sorgente prima di riprovare. Se non vengono rilevati errori, il compilatore genera il file eseguibile.
* Quando succede: La compilazione avviene * prima che * il programma viene eseguito. È un passaggio separato.
Esecuzione:
* Cos'è: L'esecuzione è il processo di esecuzione effettiva del programma compilato. Il processore del computer prende ed esegue le istruzioni del codice macchina una per una.
* Input: L'input per l'esecuzione è il file eseguibile creato durante la compilazione. Potrebbe anche comportare i dati di input forniti al programma durante l'esecuzione (ad es. Input dell'utente, dati da un file).
* Output: L'output di esecuzione può essere molte cose:dati visualizzati sullo schermo, dati scritti in un file, modifiche apportate al sistema o semplicemente sullo stato di uscita del programma (indicando successo o fallimento).
* Quando succede: L'esecuzione avviene * dopo * compilazione. È il palcoscenico in cui il programma svolge i suoi compiti previsti.
Analogia:
Pensa a scrivere un libro (codice sorgente) e quindi stamparlo (compilation). Il libro stampato è il file eseguibile. Leggere il libro stampato è l'esecuzione. Non puoi leggere il libro (eseguire) fino a quando non è stato stampato (compilato).
Lingue interpretate:
Le lingue interpretate non hanno un passaggio di compilazione separato allo stesso modo. Un interprete legge ed esegue la riga del codice sorgente per riga, senza creare in anticipo un file eseguibile separato. Tuttavia, alcune lingue interpretate utilizzano la compilation just-in-time (JIT) per migliorare le prestazioni compilando parti del codice nel codice della macchina durante l'esecuzione. Ma anche con JIT, la distinzione tra la fase di traduzione e la fase di esecuzione è meno chiara rispetto alle lingue compilate.
Programmazione © www.354353.com