devc una guida

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à 1 a Facoltà di Ingegneria - Sede di Bari Corso di laurea Ingegneria Informatica Ingegneria dell’Automazione Ingegneria Gestionale Ingegneria Meccanica Autori: Prof. Giacomo PISCITELLI Ing. Tommy Di Noia Ing. Roberto Mirizzi Il presente manuale utente è stato realizzato dagli autori indicati nell’anno e nell’ambito dei corsi indicati, utilizzando una versione del manuale stesso del 2005, scaricata via Internet, a cura del Prof. Domenico BENEVENTANO, dell’Ing. 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 l’a.a. 2007/2008, inizialmente nell’ambito del corso di “Fondamenti di Informatica I” dei Corsi di Laurea in Ingegneria Informatica e Ingegneria dell’Automazione.

Upload: clericusvagantes

Post on 05-Nov-2015

222 views

Category:

Documents


1 download

DESCRIPTION

DevC una guida

TRANSCRIPT

  • 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

    Stampa del: 30 novembre 2009 Pagina 2 di 38

    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. Opzioni di compilazione ........................................................................................................... 13 2.3.2. Opzioni delleditor ..................................................................................................................... 15 2.3.3. Opzioni dellambiente ............................................................................................................... 16

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

    3.1. Il progetto..................................................................................................................... 17 3.1.1. Creazione di un nuovo progetto ............................................................................................... 17 3.1.2. Apertura di un progetto/file esistente........................................................................................ 19 3.1.3. Modifica del codice sorgente.................................................................................................... 20

    3.2. 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. Salvataggio del codice ............................................................................................... 31

    4. 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

    adminEvidenziato

    adminEvidenziato

    adminEvidenziato

    adminEvidenziato

    adminEvidenziato

    adminEvidenziato

    adminEvidenziato

    adminEvidenziato

    adminEvidenziato

    adminEvidenziato

    adminEvidenziato

    adminEvidenziato

    adminEvidenziato

    adminEvidenziato

    adminEvidenziato

    adminEvidenziato

  • DevC++ Manuale utente

    Stampa del: 30 novembre 2009 Pagina 3 di 38

    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.

  • DevC++ Manuale utente

    Stampa del: 30 novembre 2009 Pagina 4 di 38

    LIDE della 4.9.9.2 si presenta come in fig. 1.2.

    Fig. 1.2: LIDE DevC++ 4.9.9.2

  • DevC++ Manuale utente

    Stampa del: 30 novembre 2009 Pagina 5 di 38

    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++

  • DevC++ Manuale utente

    Stampa del: 30 novembre 2009 Pagina 6 di 38

    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

  • DevC++ Manuale utente

    Stampa del: 30 novembre 2009 Pagina 7 di 38

    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.

  • DevC++ Manuale utente

    Stampa del: 30 novembre 2009 Pagina 8 di 38

    2.2. Procedura di installazione

    Prevede i passi di seguito riportati (wizard).

    Dapprima il licence agreement: DevC++ gratuito.

    Fig. 2.1: License Agreement

  • DevC++ Manuale utente

    Stampa del: 30 novembre 2009 Pagina 9 di 38

    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

  • DevC++ Manuale utente

    Stampa del: 30 novembre 2009 Pagina 10 di 38

    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.

  • DevC++ Manuale utente

    Stampa del: 30 novembre 2009 Pagina 11 di 38

    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

  • DevC++ Manuale utente

    Stampa del: 30 novembre 2009 Pagina 12 di 38

    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.

  • DevC++ Manuale utente

    Stampa del: 30 novembre 2009 Pagina 13 di 38

    2.3.1. Opzioni di compilazione

    Scegliere, da Strumenti, le Opzioni di Compilazione

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

  • DevC++ Manuale utente

    Stampa del: 30 novembre 2009 Pagina 14 di 38

    Fig. 2.7: Opzioni di compilazione

  • DevC++ Manuale utente

    Stampa del: 30 novembre 2009 Pagina 15 di 38

    2.3.2. Opzioni delleditor

    Fig. 2.8 : Opzioni delleditor

  • DevC++ Manuale utente

    Stampa del: 30 novembre 2009 Pagina 16 di 38

    2.3.3. Opzioni dellambiente

  • DevC++ Manuale utente

    Stampa del: 30 novembre 2009 Pagina 17 di 38

    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

  • DevC++ Manuale utente

    Stampa del: 30 novembre 2009 Pagina 18 di 38

    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).

  • DevC++ Manuale utente

    Stampa del: 30 novembre 2009 Pagina 19 di 38

    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

  • DevC++ Manuale utente

    Stampa del: 30 novembre 2009 Pagina 20 di 38

    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

  • DevC++ Manuale utente

    Stampa del: 30 novembre 2009 Pagina 21 di 38

    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.

  • DevC++ Manuale utente

    Stampa del: 30 novembre 2009 Pagina 22 di 38

    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 e la seguente istruzione al termine del main

    system(PAUSE) che consentir di chiudere la finestra DOS.

  • DevC++ Manuale utente

    Stampa del: 30 novembre 2009 Pagina 23 di 38

    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

  • DevC++ Manuale utente

    Stampa del: 30 novembre 2009 Pagina 24 di 38

    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.

  • DevC++ Manuale utente

    Stampa del: 30 novembre 2009 Pagina 25 di 38

    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).

  • DevC++ Manuale utente

    Stampa del: 30 novembre 2009 Pagina 26 di 38

    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.

  • DevC++ Manuale utente

    Stampa del: 30 novembre 2009 Pagina 27 di 38

    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.

  • DevC++ Manuale utente

    Stampa del: 30 novembre 2009 Pagina 28 di 38

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

  • DevC++ Manuale utente

    Stampa del: 30 novembre 2009 Pagina 29 di 38

    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

  • DevC++ Manuale utente

    Stampa del: 30 novembre 2009 Pagina 30 di 38

    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()

  • DevC++ Manuale utente

    Stampa del: 30 novembre 2009 Pagina 31 di 38

    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

  • DevC++ Manuale utente

    Stampa del: 30 novembre 2009 Pagina 32 di 38

    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

  • DevC++ Manuale utente

    Stampa del: 30 novembre 2009 Pagina 33 di 38

    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

  • DevC++ Manuale utente

    Stampa del: 30 novembre 2009 Pagina 34 di 38

    - 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.

  • DevC++ Manuale utente

    Stampa del: 30 novembre 2009 Pagina 35 di 38

    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.

  • DevC++ Manuale utente

    Stampa del: 30 novembre 2009 Pagina 36 di 38

    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.

  • DevC++ Manuale utente

    Stampa del: 30 novembre 2009 Pagina 37 di 38

    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..

  • DevC++ Manuale utente

    Stampa del: 30 novembre 2009 Pagina 38 di 38

    5.4 Forum di sviluppatori

    uno forum di sviluppatori DevC++ in lingua italiana.

    http://forum.redangel.it/