Sei sulla pagina 1di 38

Integrated Development Environment (IDE)

DevC++ 4.9.9.2
Manuale utente
Data ultima revisione:

22/10/2008

Fondamenti di informatica
Universit

Politecnico di Bari

Facolt

1a Facolt di Ingegneria - Sede di Bari

Corso di laurea

Ingegneria Informatica
Ingegneria dellAutomazione
Ingegneria Gestionale
Ingegneria Meccanica

Autori:

Prof. Giacomo PISCITELLI


Ing. Tommy Di Noia
Ing. Roberto Mirizzi

Il presente manuale utente stato realizzato dagli autori indicati nellanno e nellambito dei corsi
indicati, utilizzando una versione del manuale stesso del 2005, scaricata via Internet, a cura del
Prof. Domenico BENEVENTANO, dellIng. Massimo GHIDONI e della Dott.sa Marina
MOSCATELLI (Facolt di Ingegneria - Sede di Reggio Emilia - Universit degli Studi di
Modena e Reggio Emilia)
Il manuale attuale si riferisce alla revisione 4.9.9.2 resa disponibile, per la.a. 2007/2008,
inizialmente nellambito del corso di Fondamenti di Informatica I dei Corsi di Laurea in
Ingegneria Informatica e Ingegneria dellAutomazione.

DevC++ Manuale utente

Sommario

1.

INTRODUZIONE ....................................................................................................3

2.

SETUP....................................................................................................................5

2.1.

Procedura di download................................................................................................. 5

2.2.

Procedura di installazione............................................................................................ 8

2.3.

Configurazione ............................................................................................................ 11

2.3.1.
2.3.2.
2.3.3.

3.

Opzioni di compilazione ........................................................................................................... 13


Opzioni delleditor ..................................................................................................................... 15
Opzioni dellambiente ............................................................................................................... 16

SESSIONE DI LAVORO ......................................................................................17

3.1.

Il progetto..................................................................................................................... 17

3.1.1.
3.1.2.
3.1.3.

3.2.

Creazione di un nuovo progetto ............................................................................................... 17


Apertura di un progetto/file esistente........................................................................................ 19
Modifica del codice sorgente.................................................................................................... 20

Esecuzione del programma........................................................................................ 21

3.2.1. Compilazione ............................................................................................................................... 21


3.2.2. Compilazione, link ed esecuzione ............................................................................................... 24
3.2.3. Esecuzione con parametri ........................................................................................................... 30

3.3.

4.

Salvataggio del codice ............................................................................................... 31

DEBUG.................................................................................................................33

4.1.

Introduzione................................................................................................................. 33

4.2.

Il debug di un programma .......................................................................................... 33

4.3.

Inserire breakpoint ...................................................................................................... 34

4.4.

Eseguire unistruzione per volta (stepping) ............................................................. 36

5.

ALCUNI RIFERIMENTI UTILI ..............................................................................37

5.1

Help in linea .................................................................................................................... 37

5.2

Bloodshed.net................................................................................................................. 37

5.3

SourceForge.NET ........................................................................................................... 37

5.4

Forum di sviluppatori..................................................................................................... 38

Stampa del: 30 novembre 2009

Pagina 2 di 38

DevC++ Manuale utente

1.

Introduzione

DevC++ un ambiente di sviluppo integrato (IDE, ovvero Integrated Development Environment)


che funziona da front-end verso il compilatore GCC che pienamente compatibile con lo standard C89 o
ANSI C.

Fig. 1.1: Informazioni su DevC++


ANSI C uno standard proprio perch la maggior parte dei compilatori soddisfa le specifiche da
esso previste per il linguaggio.
Grazie alla sua interfaccia grafica, un ambiente IDE consente di utilizzare in modo semplice gli
strumenti offerti dal compilatore senza dover ricorrere necessariamente alle istruzioni da riga di comando
(command-line).
Lultima versione ad oggi disponibile la 4.9.9.2.

Stampa del: 30 novembre 2009

Pagina 3 di 38

DevC++ Manuale utente


LIDE della 4.9.9.2 si presenta come in fig. 1.2.

Fig. 1.2: LIDE DevC++ 4.9.9.2

Stampa del: 30 novembre 2009

Pagina 4 di 38

DevC++ Manuale utente

2.

Setup
Per installare e configurare DevC++ 4.9.9.2 necessario:

1.

scaricare (download) il file per il setup del compilatore dallapposito sito;

2.

installare DevC++ versione 4.9.9.2 mediante doppio clic sul file devcpp-4.9.9.2_setup;

3.

configurare DevC++ per prepararlo allutilizzo.

2.1.

Procedura di download
Per effettuare il download del compilatore necessario:

dalla pagina con la copia dei lucidi del docente fare click sul link Download DEV C++

Si viene ridiretti alla pagina dedicata al Dev-C++

Stampa del: 30 novembre 2009

Pagina 5 di 38

DevC++ Manuale utente

In fondo a tale pagina sono indicati 3 tipi diversi di download.


Scegliere il 1 tipo di download, indicato con un riquadro in rosso nella seguente figura

Si viene ridiretti alla pagina SourceForge dedicata al download del Dev-C++.


Scegliere di effettuare il download dal direct link indicato con un riquadro in rosso nella seguente
figura

Stampa del: 30 novembre 2009

Pagina 6 di 38

DevC++ Manuale utente

Viene richiesto di eseguire o di aprire il file di setup.


Scegliere Salva.

Salvare il file devcpp-4.9.9.2_setup.exe in una cartella di nome DevCpp.


Si pu ora procedere localmente, senza essere necessariamente collegati in rete.
La prima volta che si effettua linstallazione del compilatore si dovr procedere come di seguito
indicato.

Stampa del: 30 novembre 2009

Pagina 7 di 38

DevC++ Manuale utente

2.2.

Procedura di installazione
Prevede i passi di seguito riportati (wizard).
Dapprima il licence agreement: DevC++ gratuito.

Fig. 2.1: License Agreement

Stampa del: 30 novembre 2009

Pagina 8 di 38

DevC++ Manuale utente

Poi le opzioni di installazione: linstallazione tipica di default e prevede la selezione automatica


dei componenti necessari.

Fig. 2.2: Installazione tipica


Si sceglie quindi la directory di installazione.

Fig. 2.3: Directory di installazione

Stampa del: 30 novembre 2009

Pagina 9 di 38

DevC++ Manuale utente

Viene richiesto se si vuole che il compilatore sia usabile da tutti gli utenti del computer. Rispondere
OK.
Vengono estratti nella directory specificata i file compressi contenuti del file di installazione e viene
segnalata il termine dellinstallazione del compilatore.

Fig. 2.4: Installazione terminata

Si pu ora procedere con la configurazione dellambiente di programmazione.

Stampa del: 30 novembre 2009

Pagina 10 di 38

DevC++ Manuale utente

2.3.

Configurazione
La configurazione iniziale di DevC++ consente di scegliere la lingua e laspetto grafico.

Fig. 2.5: Configurazione iniziale

Viene richiesto se si vogliono installare funzioni addizionali. Rispondere NO.

Fig. 2.6: Richiesta installazione funzioni addizionali

Stampa del: 30 novembre 2009

Pagina 11 di 38

DevC++ Manuale utente

La configurazione iniziale stata terminata e viene ora richiesto di caricare il compilatore.


Rispondere OK.

Viene ora caricato il compilatore che appare come nel seguente figura.

ora possibile procedere a configurare i parametri di compilazione e personalizzare leditor del


codice sorgente.

Stampa del: 30 novembre 2009

Pagina 12 di 38

DevC++ Manuale utente

2.3.1. Opzioni di compilazione


Scegliere, da Strumenti, le Opzioni di Compilazione

e specificare le seguenti opzioni per la Generazione di Codice/Ottimizzazioni

Stampa del: 30 novembre 2009

Pagina 13 di 38

DevC++ Manuale utente

Fig. 2.7: Opzioni di compilazione

Stampa del: 30 novembre 2009

Pagina 14 di 38

DevC++ Manuale utente

2.3.2. Opzioni delleditor

Fig. 2.8 : Opzioni delleditor

Stampa del: 30 novembre 2009

Pagina 15 di 38

DevC++ Manuale utente

2.3.3. Opzioni dellambiente

Stampa del: 30 novembre 2009

Pagina 16 di 38

DevC++ Manuale utente

3.

Sessione di lavoro

Una tipica sessione di lavoro con un ambiente di sviluppo prevede una serie di azioni, spesso
svolte in modo ciclico.
Durante una sessione di lavoro:
1.

si crea un nuovo progetto o si apre un progetto esistente;

2.

si modifica il codice sorgente;

3.

si salvano le modifiche apportate;

4.

si effettua la compilazione;

5.

in caso di esito positivo, si effettua il link (se necessario); altrimenti si ritorna al passo 2;

6.

in caso di esito positivo il programma viene eseguito, altrimenti si ritorna al passo 2.

3.1.

Il progetto

Dal momento che un programma pu essere costituito da pi file, lIDE prevede il concetto di
progetto, ossia un gruppo di file di codice sorgente in linguaggio C o C++ (.C) che costituisce il
programma da compilare ed eseguire.
La creazione di un file progetto indispensabile per la creazione di file di codice sorgente.
Se il programma risiede in un unico file (ad esempio esercizio.c), necessario creare dapprima il
progetto che lo contiene.

3.1.1. Creazione di un nuovo progetto

Fig. 3.1: Creazione di un nuovo progetto


Stampa del: 30 novembre 2009

Pagina 17 di 38

DevC++ Manuale utente

Ci occuperemo di applicazioni console, cio che utilizzano come standard input e standard output
una finestra MS-DOS. Il progetto sar costituito da un programma in C.

Fig. 3.2: Applicazioni console in C


Nel caso di progetti costituiti da un unico file, possibile assegnare al progetto (file con estensione
.dev) lo stesso nome del file sorgente (file con estensione .c).

Stampa del: 30 novembre 2009

Pagina 18 di 38

DevC++ Manuale utente

3.1.2. Apertura di un progetto/file esistente


Lapertura di un file o progetto esistente consente di modificare il codice sorgente.

Fig. 3.3: Apertura di un progetto/file esistente

Stampa del: 30 novembre 2009

Pagina 19 di 38

DevC++ Manuale utente

3.1.3. Modifica del codice sorgente


LIDE dispone di un editor che, oltre ad offrire levidenziazione automatica delle parole chiave
(keyword), permette di:
- effettuare ricerche e sostituzioni di testo;
- di spostarsi ad una determinata funzione del programma;
- di spostarsi ad una determinata riga (linea) del programma.
Queste funzionalit di ricerca/sostituzione testo sono accessibili dal menu Cerca.

Fig. 3.4: Funzioni di ricerca/sostituzione


Nel caso di ricerca di un testo possono essere definiti i parametri di ricerca

Fig. 3.5: Ricerca di testo

Stampa del: 30 novembre 2009

Pagina 20 di 38

DevC++ Manuale utente

3.2.

Esecuzione del programma

3.2.1. Compilazione
La voce Compila consente di effettuare la compilazione ed il link del progetto, ossia dellinsieme dei
file di codice sorgente .C di cui costituito il programma.

Fig. 3.6: Compilazione


Il comando comporta il salvataggio automatico del progetto.

Stampa del: 30 novembre 2009

Pagina 21 di 38

DevC++ Manuale utente

Se la compilazione avvenuta con successo compare la finestra di dialogo Compile Progress con
status Done..

Fig. 3.7: Progetto compilato

ATTENZIONE
Si raccomanda di tener conto che il DevC++
- assume che la prima riga del programma principale sia definita come funzione intera:
int

main()

- usa una finestra DOS per lI/O e, perci, richiede la seguente direttiva al precompilatore
#include <stdlib.h>
e la seguente istruzione al termine del main
system(PAUSE)
che consentir di chiudere la finestra DOS.

Stampa del: 30 novembre 2009

Pagina 22 di 38

DevC++ Manuale utente

Gli eventuali errori di compilazione sono presentati nella scheda (tab) Compilatore.

Fig. 3.8: Scheda Compilatore con errori di compilazione


Nella scheda (tab) Log di compilazione si possono vedere, indipendentemente dalla presenza di
errori o meno, i risultati (log) dellattivit di compilazione.

Fig. 3.9: Scheda Log di compilazione

Stampa del: 30 novembre 2009

Pagina 23 di 38

DevC++ Manuale utente

3.2.2. Compilazione, link ed esecuzione


Lesecuzione del comando Compila & Esegui comporta nellordine:
1.

compilazione del file sorgente main.c (generazione del file di codice oggetto main.o);

2.

qualora siano presenti, compilazione dei rimanenti file sorgenti .c componenti il progetto
(generazione dei rispettivi file di codice oggetto .o)

3.

link del progetto (generazione del file progetto.exe).

Fig. 3.10: Compilazione, link ed esecuzione


Il comando comporta il salvataggio automatico del progetto.

Stampa del: 30 novembre 2009

Pagina 24 di 38

DevC++ Manuale utente

In presenza di errori il programma non viene eseguito.


In presenza di errori, nella scheda (tab) Compilazione si possono vedere le tipologie di errore
riscontrate (compilazione, link e build).

Stampa del: 30 novembre 2009

Pagina 25 di 38

DevC++ Manuale utente

Nella scheda (tab) Log di compilazione si possono vedere i risultati (log) delle attivit di
compilazione e di link. In essa sono riportati gli eventuali errori generati.

Stampa del: 30 novembre 2009

Pagina 26 di 38

DevC++ Manuale utente

Nel caso in cui la compilazione e il linkage siano terminati con successo, si aprir la finestra
console del Dos, attraverso la quale sar possibile introdurre i dati e visualizzare i risultati.

Stampa del: 30 novembre 2009

Pagina 27 di 38

DevC++ Manuale utente

Al termine dellesecuzione, sar necessario chiudere la finestra console premendo un tasto


qualsiasi

Stampa del: 30 novembre 2009

Pagina 28 di 38

DevC++ Manuale utente

Con il comando Pulisci si elimina dalla directory corrente il file .exe generato. Si consiglia di
utilizzare questo comando prima di una nuova azione di compilazione ed esecuzione.

Fig. 3.13: Eliminazione delleseguibile generato

Stampa del: 30 novembre 2009

Pagina 29 di 38

DevC++ Manuale utente

3.2.3. Esecuzione con parametri


possibile parametrizzare lesecuzione di un programma attribuendo un valore ai parametri della
funzione main.
int main (int argc, char *argv[])
Per specificare il valore di tali parametri si deve richiamare il comando Parametri... dal menu
Esegui. I parametri (stringa) devono essere separati da spazio.

Fig. 3.14: Specifica di parametri nella funzione main()

Stampa del: 30 novembre 2009

Pagina 30 di 38

DevC++ Manuale utente

3.3.

Salvataggio del codice


I comandi di salvataggio sono contenuti nel menu File.
Le opzioni di salvataggio sono 4:

- salvataggio del file sorgente .C corrente (comando Salva);


- salvataggio con rinomina del file sorgente .C corrente (comando Salva Come);
- salvataggio con rinomina del progetto (.dev) corrente (comando Salva il Progetto come...);
- salvataggio di tutti i file aperti (Salva Tutto).

Fig. 3.15: Salvataggio

Stampa del: 30 novembre 2009

Pagina 31 di 38

DevC++ Manuale utente

Il salvataggio con nome prevede di specificare la directory in cui il file deve essere salvato.

Fig. 3.16: Salvataggio con nome di un file sorgente .C

Stampa del: 30 novembre 2009

Pagina 32 di 38

DevC++ Manuale utente

4.

Debug

4.1.

Introduzione

noto che alcune volte vengono commessi errori nello scrivere un programma. Individuare e
correggere tali errori, detti bugs, pu essere alcune volte molto intricato. Per aiutare un programmatore
a esaminare il comportamento del proprio programma nel corso dellesecuzione, stato messo a punto
uno specifico tool, il debugger
Il debugger essenzialmente esegue un programma tenendo traccia delle sue funzioni, variabili e
istruzioni. Esso capace di arrestare lesecuzione del programma in uno specifico punto, detto
breakpoint. Si possono inserire breakpoint ovunque nel programma: quando lesecuzione del
programma giunge ad un breakpoint, il debugger la sospende e consente di esaminare i dati correnti del
programma stesso.
Si capisce quindi lutilit del debugger durante la fase di individuazione e correzione degli errori di
un programma

4.2.

Il debug di un programma

Per attivare il debugger sufficiente aprire il menu a tendina Debug e cliccare sullopzione
Debug.
Se non avete impostato le opzioni di debugging nel progetto, Dev-C++ vi chieder se volete
ricostruire il vostro programma con labilitazione di questa opzione. In alternativa pi conveniente aprire
il menu a tendina Strumenti, selezionare lopzione Opzioni di Compilazione e poi quella di
Generazione di Codici/Ottimizzazioni: in corrispondenza della sezione Linker, avvalorare
con Yes lopzione Genera le informazioni per il debug. Dopo aver ricostruito il vostro
progetto, rilanciare il debugger.

Ora il debugger ha caricato il vostro programma e lo sta eseguendo.


Per trarre beneficio del debugger per necessario apprendere come:
-

inserire breakpoint nel programma

Stampa del: 30 novembre 2009

Pagina 33 di 38

DevC++ Manuale utente


-

far eseguire il programma una istruzione alla volta (stepping)

visualizzare il valore di variabili

conoscere le funzioni chiamate prima di arrivare ad un breakpoint o a uninterruzione del


programma dovuta ad un errore grave.

In realt il debugger consente di svolgere anche altre funzioni, che esorbitano rispetto agli obiettivi
di questo manuale.

4.3.

Inserire breakpoint

Potete usare un breakpoint per interrompere lesecuzione del programma a una specifica istruzione
(linea di codice), prima di aver lanciato il debugger.
Per aggiungere un breakpoint, prima posizionate il cursore sulla linea di codice interessata poi
aprite il menu a tendina Debug e cliccate sullopzione Attiva/Disattiva Debugger. In alternativa
potete direttamente cliccare sullarea scura alla sinistra dellistruzione interessata.
La linea di codice interessata si colorer di rosso, indicando che il debugger arrester lesecuzione
in corrispondenza di tale istruzione.

Quando avrete avviato il debugger, se il programma esegue la linea di codice interessata, questa si
colorer di blue.

Stampa del: 30 novembre 2009

Pagina 34 di 38

DevC++ Manuale utente

A questo punto sar possibile esaminare il valore di particolari variabili attraverso il tasto Nuova
Osservazione, posizionato in basso a destra nellarea riservata al controllo del debug.. . . .

Alternativamente se selezionate una parola nel programma e premete F4, verr aggiunta
losservazione della variabile senza che venga richiesto il nome della variabile.
Ancora, se se puntate il mouse su una variabile e avete abilitato lopzione Osservazione
variabile sotto mouse contenuta nelle Opzioni dellAmbiente del menu a tendina
Strumenti, la variabile sar aggiunta alla lista delle variabili osservate.

Stampa del: 30 novembre 2009

Pagina 35 di 38

DevC++ Manuale utente

4.4.

Eseguire unistruzione per volta (stepping)

. . . . . oppure procedere allistruzione successiva mediante il tasto Step Succ. posizionato in


basso a sinistra nellarea riservata al controllo del debug.

Nel caso listruzione successiva sia una chiamata di funzione (o procedura) il debugger salter ad
eseguire la prima istruzione della funzione se si usa il tasto Step Interno, posizionato in basso a
sinistra nellarea riservata al controllo del debug.
Se, invece, si usa il tasto Step Esterno, posizionato in basso a sinistra nellarea riservata al controllo
del debug, verr proseguita lesecuzione del programma fino a raggiungere il prossimo breakpoint.

Stampa del: 30 novembre 2009

Pagina 36 di 38

DevC++ Manuale utente

5.

Alcuni riferimenti utili

5.1

Help in linea

Fig. 4.1: Help in linea

5.2

Bloodshed.net
il sito ufficiale di presentazione del compilatore DevC++ in lingua inglese.
http://www.bloodshed.net/dev/devcpp.html

5.3

SourceForge.NET
un sito di sviluppo in inglese che tratta anche del compilatore DevC++.
Dalla pagina http://sourceforge.net/projects/dev-cpp/ possibile:
scaricare il compilatore;
scaricare aggiornamenti (patches & bug fixes);
scaricare informazioni sulle precedenti versioni del compilatore (release notes);
consultare forum;
consultare lelenco dei bugs;
consultare news sullo stato della documentazione, sulle versioni, sulla soluzione di problemi, ecc..

Stampa del: 30 novembre 2009

Pagina 37 di 38

DevC++ Manuale utente

5.4

Forum di sviluppatori
uno forum di sviluppatori DevC++ in lingua italiana.
http://forum.redangel.it/

Stampa del: 30 novembre 2009

Pagina 38 di 38