Prima o poi bisogna pur inziare a compilare qualche programmino in C o C++ con il nostro bel sistema operativo Gnu/Linux se si vuole sperimentare cosa è possibile realizzare con la "forza" della programmazione, anche solo per fare piccole prove pratiche o semplicemente per prepararsi ad un esame per l'università. Ma come ogni cosa se non lo si è mai affrontato, spesso non si ha la minima idea neanche da dove cominciare. Con questo tutorial proviamo ad inizare da zero e sperminetare l'ebrezza della "programmazione" facendo fare ad una macchina esattamente quello che noi gli chiediamo.
Cosa ti serve?
Ti serve per prima cosa un compilatore per C/C++ che traduca lo script che hai realizzato in linguaggio macchina, quindi interpretabile o meglio "leggibile" dal tuo PC. Dato che ci troviamo su Gnu/Linux non possiamo che utilizzare Gcc, quest'ultimo è il compilatore nativo del progetto Gnu/Linux e il suo nome è l'acronimo di "GNU Compiler Collection", un compilatore voluto da Richard Stallman e che probabilmente senza di esso non avrebbe mai avuto il successo che oggi ha raggiunto il progetto iniziale Gnu.
Teniamo bene a mente che Gcc è un compilatore molto importante tanto da essere incluso nativamente in molti sistemi operativi com Mac OSx e nelle numerosissime distribuzioni Gnu/Linux (Ubuntu, Red hat, Debian, Suse.... ).
Come installare Gcc?
Non bisogna installarlo se siamo su Gnu/Linux o su un Mac OSx come ho detto poco fa, mentre se sfortunatamente sei su WinDoWsZ ti consigliio vivamente di non cercarlo nemmeno, passa a Gnu/Linux! Se stai per compilare il tuo primo programma in C o C++ non puoi continuare ad utilizzare WinDoWsZ per l'eternità, dovrai pure iniziare ad utilizzate Gnu/Linux, questo è il momento giusto per farlo. Mi sento di dirti che se hai le capacità e l'elasticità mentale per compilare uno script, sei sufficentemente preparato ad entrare nel mondo Gnu/Linux.
Come si usa Gcc?
Passiamo quindi alla parte pratica del tutorial realizzando il classico "hello word" in C e tentiamo di compilarlo con Gcc, non è detto che vada a buon fine.
Tutti i comandi che sto per elencare di segui sono lanciati nella Shell di una qualsiasi distribuzione Gnu/Linux, se non avete idea di cosa sia una Shell andate cercate un applicazione che si chiama "Terminale", su Ubuntu Gnu/Linux è raggiungibile da Applications > Accessories > Terminal.
Creare una cartella "prova" e posizionarsi al suo interno
mkdir prova cd prova
Creare file "primo.c" tramite l'editor "nano"
nano primo.c
Al suo interno scriviamo
#include <stdio.h >
int main(void) {
printf("Hello, world!\n");
return 0;
}
Questo codice stamperà a schermo la scrittà "Hello World" e darà come valore di ritorno "0" facendo inteterrompere lo script. A questo punto utlizziamo la combinazione di tasti CTRL+O per salvare e CTRL+X per uscire dall'editor di testo (nota che sono combinazioni utilizzabile solo all'interno dell'editor di test nano) per poi accingerci a compilare il nostro script dal nome "primo.c";
Compiliamo lo script
Prima di compilare possiamo controllare che sia tutto in ordine e verificare il reale nome del nostro file digitando nella Shell il comando "ls". A questo punto utilizziamo i seguenti comandi per compilare lo script
gcc NOME-FILE-DA-COMPILARE.c -o NOME-FILE-DI-OUT-PUT
... nel nostro caso
gcc primo.c -o primo
Se la procedura non produce "errori" o "warning" possiamo procedere
...lanciamo l'eseguibile
./primo
Il risultato sarà
./primo Hello, world!
Ben fatto! Se il risultato è identico e/o molto simile allora non avete fatto errori ed hai capito come si compila uno script realizzato in C o Cpp. A questo punto ogni altro script da te realizzato potrà essere compilato in questo modo, dovrai prestare "solo" attenzione alla sintassi del linguaggio di programmazione che stai usando.
Nota: Gcc è un compilatore in grado di produrre file eseguibili non solo per C e C++, ma anche per Objective-C, Fortran, Java, Ada e alcune altre librerie, quindi non abbandonarlo.
Revisione 22/06/2010: Codice di esempio modificato evitando l'errore di compilazione. Un grazie all'utente che mi ha fatto notare l'anomalia.

















