Workstation online OnWorks Linux e Windows

Logo

Hosting online gratuito per workstation

<Precedenti | Contenuti | Succ.>

Che cos'è la compilazione?

In poche parole, la compilazione è il processo di traduzione codice sorgente (la descrizione leggibile dall'uomo di un programma scritto da un programmatore) nella lingua nativa del processore del computer.

Il processore del computer (o CPU) funziona a un livello molto elementare, eseguendo programmi in quello che viene chiamato linguaggio macchina. Questo è un codice numerico che descrive operazioni molto piccole, come "aggiungi questo byte", "punta a questa posizione in memoria" o "copia questo byte".


Ognuna di queste istruzioni è espressa in binario (uno e zero). I primi programmi per computer sono stati scritti utilizzando questo codice numerico, il che potrebbe spiegare perché si diceva che i programmatori che lo scrivevano fumassero molto, bevessero litri di caffè e indossassero occhiali spessi.

Questo problema è stato superato con l'avvento di linguaggio assembly, che ha sostituito i codici numerici con caratteri (leggermente) più facili da usare mnemonici come CPY (per la copia) e MOV (per lo spostamento). I programmi scritti in linguaggio assembly vengono elaborati in linguaggio macchina da un programma chiamato an assembler. Il linguaggio assembly è ancora utilizzato oggi per alcune attività di programmazione specializzate, come i driver di periferica ed sistemi integrati.

Veniamo ora a quelli che vengono chiamati linguaggi di programmazione di alto livello. Sono chiamati così perché consentono al programmatore di essere meno interessato ai dettagli di ciò che sta facendo il processore e più alla risoluzione del problema. I primi (sviluppati negli anni '1950) includevano FORTRAN (progettato per compiti scientifici e tecnici) e COBOL (progettato per applicazioni aziendali). Entrambi sono ancora in uso limitato oggi.

Sebbene ci siano molti linguaggi di programmazione popolari, due predominano. La maggior parte dei programmi scritti per i sistemi moderni sono scritti in entrambi C or C++. Negli esempi che seguono, compileremo un programma C.

I programmi scritti in linguaggi di programmazione di alto livello vengono convertiti in linguaggio macchina elaborandoli con un altro programma, chiamato compilatore. Alcuni compilatori traducono istruzioni di alto livello in linguaggio assembly e quindi utilizzano un assemblatore per eseguire la fase finale della traduzione in linguaggio macchina.

Viene chiamato un processo spesso usato insieme alla compilazione collegamento. Ci sono molte attività comuni eseguite dai programmi. Prendi, ad esempio, l'apertura di un file. Molti programmi eseguono questo compito, ma sarebbe uno spreco che ogni programma implementasse la propria routine per aprire i file. Ha più senso avere un unico pezzo di programmazione che sappia come aprire i file e consentire a tutti i programmi che ne hanno bisogno di condividerlo. Fornire supporto per compiti comuni è realizzato da quelli che vengono chiamati biblioteche. Contengono più routine, ognuno dei quali esegue un'attività comune che più programmi possono condividere. Se guardiamo nel / lib ed / Usr / lib directory, possiamo vedere dove vivono molti di loro. Un programma chiamato a Links viene utilizzato per formare le connessioni tra l'output del compilatore e le librerie che il programma compilato richiede. Il risultato finale di questo processo è il file di programma eseguibile, pronto per l'uso.


 

Il miglior sistema operativo cloud computing su OnWorks: