La struttura delle directory:

 

 

La directory principale dell’utente che si chiama utente2 si indicherà

 

/home/utente2

 

(attenzione a non confondersi con la notazione utilizzata da windows, ovvero c:\home\utente2)

 

Grazie ad un terminale e ad un interprete dei comandi (la shell) si possono gestire i file, le directory e, nel caso specifico, compilare i codici C.

 

 

Alcuni dei comandi della shell:

 

 

ls

Permette di visualizzare l’elenco dei file contenuti nella directory (l’equivalente del comando dir in ambiente DOS). Per visualizzare l’elenco dei file e la dimensione degli stessi, allora digitare

 

/prompt> ls –l

 

cd nome_directory

Il comando consente di spostarsi all’interno della directory dal nome nome_directory. Per entrare in una sottodirectory della directory in cui ci troviamo è sufficiente indicare il nome della sottodirectory stessa. Per spostarsi, invece, in un punto qualsiasi del disco è necessario indicare l’intero percorso.

 

Ad esempio, se programmi è una sottodirectory della directory principale dell’utente studente1 (ovvero /home/studente1) allora per passare dalla directory principale a programmi basta digitare

 

/prompt> cd programmi

 

Se viceversa il medesimo utente si vuole spostare nella sottodirectory programmi della directory principale dell’utente studente2, allora il comando completo è

 

/prompt> cd /home/studente2/programmi

 

Viceversa, per salire di un livello, ovvero passare da una sottodirectory di una directory alla directory stessa basta usare il comando: cd .. (ovvero cd seguito da due punti). Se ad esempio ci troviamo in /home/studente1/programmi, digitando

 

/prompt> cd ..

 

risaliamo in /home/studente1

 

mkdir nome_directory

Il comando consente di creare una directory dal nome nome_directory

 

rm nome_file

rm (che sta per remove, ovvero rimuovi) è il comando che permette di cancellare un file

 

rmdir nome_directory

Il comando permette di cancellare una directory. Nel caso in cui la directory contenga dei file, e sia necessario cancellare anche questi ultimi, allora si può utilizzare ancora il comando rm con l’opzione –r (che indica che l’operazione verrà effettuata in modo ricorsivo su tutti i file della directory). Ad esempio, nel caso la directory si chiami test ed al suo interno siano contenuti dei file, il comando da dare per eliminare la directory test è

 

/prompt> rm –r test

 

 

NOTA: per riutilizzare i comandi utilizzati in precedenza, è sufficiente schiacciare il tasto “freccia in sù” fino a quando il comando desiderato non compare. A questo punto, possiamo sia ripetere il comando precedente sia modificarlo.

 

 

 

Compilatore

 

 

Il linguaggio C è un linguaggio compilato, ovvero è necessario un programma che converta i file di testo scritti in C in file eseguibili (programmi); tale programma si chiama compilatore. Durante il corso ne studieremo le caratteristiche in dettaglio; al momento però è sufficiente sapere che esso controlla la sintassi delle istruzioni che formano il codice e ne verifica la correttezza. Se il compilatore individua degli errori, ne indica la presenza con dei messaggi e non produce il file eseguibile; se nel codice sono presenti ambiguità o errori che non compromettono il funzionamento del programma (in questo caso, con il termine funzionamento non si indica il raggiungimento dell’obbiettivo preposto), il compilatore ne indica la presenza visualizzando dei messaggi d’avviso (warnings). In questo caso il file eseguibile viene comunque prodotto.

Il comando da utilizzare per iniziare il processo di compilazione è:

 

gcc –Wall –o nome_programma nome_file.c

 

 

Analizziamo le varie parti singolarmente

 

 

gcc –Wall –o nome_programma nome_file.c

 

 

gcc

questo è il nome del compilatore (GNU C compiler)

 

-Wall

-W indica che il compilatore deve produrre warnings, quando sia necessario farlo, e all indica che tali avvisi devono essere prodotti in tutte le situazioni previste

 

-o nome_programma

Se la compilazione ha successo il compilatore produce il file eseguibile; con nome_programma si indica il nome di tale file

 

nome_file.c

Questo è il nome del file di testo contenente il codice scritto in C

 

 

 

Se il parametro nome_programma non viene inserito il compilatore produce un eseguibile dal nome a.out.

 

Per fare un esempio, supponiamo di aver scritto il codice in un file che si chiama primo.c e di voler produrre un programma dal nome mio_programma

 

L’istruzione da utilizzare sarà

 

gcc –Wall –o mio_programma primo.c

 

Nota: diversamente da quanto accade nei sistemi operativi DOS e WINDOWS, i file eseguibili non devono avere per forza estensione “.exe”.

 

 

Per mandare in esecuzione il programma sarà sufficiente digitare il nome del programma stesso sulla linea di comando e premere invio.

 

/prompt> mio_programma