Dev-C++ - Dipartimento di Ingegneria dell`Informazione

Transcript

Dev-C++ - Dipartimento di Ingegneria dell`Informazione
Dipartimento di Sistemi e Informatica
Università degli Studi di Firenze
Dev-C++
Ing. Michele Banci
27/03/2007
1
Utilizzare Dev-C++
Tutti i programmi che seranno realizzati
richiedono progetti separati (i.e. header
file(s), implementation file(s) e un main/
application/ client/ driver file).
Questo procedimento è relativamente
semplice da realizzare utilizzando e
conoscendo Dev-C++.
27/03/2007
2
Passo 1: Configurare Dev-C++.
Occorre modificare un setting di default al fine di permettere
l’utilizzo del debugger per i nostri programmi.
Andare sul menu “Tools” e selezionare “Compiler Options”.
Nel tab “Settings”,
selezionare su “Linker”
nel pannello di sinistra,
e modificare “Generate
debugging information”
al valore “Yes”:
Click “OK”.
27/03/2007
3
Passo 2: Creare un nuovo progetto
Un progetto può essere considerato come un contenitore
utilizzato per collezionare elementi necessari per compilare
un programma.
Andare sul menu “File” e selezionare “New”, “Project...”.
Scegliere “Empty Project” e selezionare “C project”.
Dare un nome al progetto. Si può assegnare un qualsiasi
nome al file, occorre tenere presente che il nome del
progetto sarà anche il nome finale del file eseguibile.
Dopo aver inserito il nome per il progetto, click “OK”.
Dev-C++ chiederà dove si vuole salvare il progetto.
27/03/2007
4
Passo 3: Creare/aggiungere file sorgente
Si possono aggiungere file sorgenti vuoti in due modi:
Andare sul menu “File” e selezionare “New Source File” (o premere CTRL+N)
oppure
Andare sul menu “Project” e selezionare “New File”.
Notare che Dev-C++ non chiederà il nome del file per i nuovi file creati fino a
quando non si esegue una delle seguenti operazioni:
Compile
Save the project
Save the source file
Exit Dev-C++
Si possono aggiungere file sorgente preesistenti in due modi:
Andare sul menu “Project” e selezionare “Add to Project” oppure
Premere il tasto destro del mouse sul nome del progetto nel pannello di sinistra
e selezionare “Add to Project”.
27/03/2007
5
Passo 3: Esempio
ESEMPIO: multipli file sorgente
In questo esempio, sono necessari più di 3 file per compilare il rogramma; Il file
“driver.cpp” riferisce a “Deque.h” (il quale richiede “Deque.cpp”) e “Deque.cpp”
riferisce a “Queue.h” (il quale richiede “Queue.cpp”).
27/03/2007
6
Passo 4: Compilare.
Dopo aver inserito tutti i file del codice sorgente, siamo pronti per
compilare.
Andare sul menu “Execute” e selezionare “Compile” (o premere
CTRL+F9).
È cosa normale ricevere alcuni errori di compilazione o di link la prima
volta che si prova a compilare un progetto.
Gli errori di sintassi saranno visualizzati nel tab “Compiler” in basso.
Facendo un doppio click sull’errore si ottiene la posizione all’interno
del codice dove esso è occorso.
Il tab “Linker” lampeggia se si sono presentati errori di link. Errori di
linker sono generalmente il risultato di errori di sintassi impedendo
la compilazione di uno dei file del progetto.
Dopo aver compilato il progetto con successo, il dialog box “Compile
Progress” presenterà lo dtato di “Done” A questo punto si può
premere “Close”.
27/03/2007
7
Passo 5: Eseguire (1)
Adesso possiamo far “girare” (RUN) il programma.
Andare sul menu “Execute” scegliere “Run”
Nota: per poter passare dei parametri tramite riga di
comando al programma, andare sul menu “Execute”
scegliere “Parameters” e scrivere i parametri che si
vogliono passare.
27/03/2007
8
Passo 5: Eseguire (2)
Finestra di console che scompare
Se si esegue un programma (con o senza parametri), si può notare qualcosa di
particolare; la finestra della console appare e scompare rapidamente. Il problema
risiede nel fatto che, se viene eseguita direttamente, la console del programma si
chiude subito dopo l’esecuzione. Si può risolvere in due(tre) modi:
Metodo 1 - Scaffolding:
Aggiungendo il codice qui riportato prima dello statement return della funzione main() o
exit( o abort() statement (in qualsiasi funzione): In pratica attende che l’utente prema
un tasto.
/* Scaffolding code for testing purposes */
cin.ignore(256, '\n');
cout << “Press ENTER to continue...” << endl;
cin.get();
/* End Scaffolding */
Metodo 2 - Command-prompt:
Anziché invocare il nostro programma tramite l’ambiente Dev-C++, si può aprire un
prompt MS-DOS, posizionarsi nella directory in cui è stato compilato in programma e
lanciarlo. La finestra DOS non si chiuderà al termine del programma.
27/03/2007
9
Passo 6: Debug.
Quando le cose non vanno nel modo in cui si desiderava, si può utilizzare un
debugger a livello di codice, questo può essere un notevole ausilio per
comprendere cosa realmente stà facendo il programma. Le funzionalità di
base del debugger del Dev-C++ sono controllate tramite il tab “Debug” in
basso; funzionalità avanzate sono invece presenti nel menu “Debug”.
Utilizzare il debugger:
Le varie caratteristiche del debugger sono molto semplici. Premere sulla
icona “Run to cursor” per far girare il programma e metterlo in pausa in una
determinata posizione del codice sorgente; Premere “Next Step” pre fare
uno step nel codice; Premere “Add Watch” per monitorare le variabili.
Per settare dei breackpoint è sufficiente cliccare sullo spazio bianco a
fianco della riga di codice.
Per maggiorni informazioni si invita a leggere l’help in linea del Dev-C++:
“Debugging Your Program”.
27/03/2007
10