2.1 Compilazione di un semplice programma C
Il classico programma di esempio per il linguaggio C è Hello World.Ecco il codice sorgente per la nostra versione del programma:
#include <stdio.h>intmain (void){ printf ("Hello, world!\n"); return 0;}
Assumeremo che il codice sorgente sia memorizzato in un file chiamato ‘hello.c’.Per compilare il file ‘hello.c ‘ con gcc
, usa il seguente comando:
$ gcc -Wall hello.c -o hello
Questo compila il codice sorgente in ‘hello.c ‘al codice macchina e lo memorizza in un file eseguibile ‘hello’., Il file di output per il codice macchina viene specificato utilizzando l’opzione -o
. Questa opzione èdi solito data come ultimo argomento sulla riga di comando. Se isomitted, l’output viene scritto in un file predefinito chiamato ‘a.out’.
Si noti che se un file con lo stesso nome del file eseguibile è già presente nella directory corrente, verrà sovrascritto.
L’opzione-Wall
attiva tutti i compilatori più comunemente usatiavvertenze—si consiglia di utilizzare sempre questa opzione!,Ci sono molte altre opzioni di avviso che saranno discusse nei capitoli successivi, ma -Wall
è la più importante. GCC non produrrà alcun avviso a meno che non siano abilitati. Gli avvisi del compilatore sono un aiuto essenziale per rilevare i problemi durante la programmazione in C e C++.
In questo caso, il compilatore non produce alcun avviso con l’opzione-Wall
, poiché il programma è completamente valido. Codice sorgente che non produce alcun avviso è detto di compilare in modo pulito.,
Per eseguire il programma, digitare il nome del percorso dell’eseguibile in questo modo:
$ ./helloHello, world!
Questo carica il file eseguibile in memoria e fa sì che la CPU iniziaeseguire le istruzioni contenute al suo interno. Il percorso./
si riferisce alla directory corrente, quindi./hello
carica ed esegue il file eseguibile ‘hello’ che si trova nella directory corrente.