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