integrated development environment (ide) devc++ 4.9.9 · 2014. 11. 19. · devc++ – manuale...

38
Integrated Development Environment (IDE) DevC++ 4.9.9.2 Manuale utente

Upload: others

Post on 31-Jan-2021

11 views

Category:

Documents


1 download

TRANSCRIPT

  • Integrated Development Environment (IDE)

    DevC++ 4.9.9.2

    Manuale utente

  • 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 dell’editor.....................................................................................................................15 2.3.3. Opzioni dell’ambiente...............................................................................................................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 un’istruzione 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

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

    L’ultima versione ad oggi disponibile è la 4.9.9.2.

  • DevC++ – Manuale utente

    Stampa del: 30 novembre 2009 Pagina 4 di 38

    L’IDE della 4.9.9.2 si presenta come in fig. 1.2.

    Fig. 1.2: L’IDE 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 dall’apposito 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 all’utilizzo.

    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 l’installazione 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: l’installazione 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 dell’installazione del compilatore.

    Fig. 2.4: Installazione terminata

    Si può ora procedere con la configurazione dell’ambiente 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 l’aspetto 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 l’editor 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 dell’editor

    Fig. 2.8 : Opzioni dell’editor

  • DevC++ – Manuale utente

    Stampa del: 30 novembre 2009 Pagina 16 di 38

    2.3.3. Opzioni dell’ambiente

  • 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, l’IDE 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

    L’apertura 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

    L’IDE dispone di un editor che, oltre ad offrire l’evidenziazione 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 dell’insieme 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 l’I/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) dell’attività 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

    L’esecuzione del comando Compila & Esegui comporta nell’ordine: 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 dell’esecuzione, 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 dell’eseguibile generato

  • DevC++ – Manuale utente

    Stampa del: 30 novembre 2009 Pagina 30 di 38

    3.2.3. Esecuzione con parametri

    È possibile parametrizzare l’esecuzione 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 dell’esecuzione, è 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 l’esecuzione del programma in uno specifico punto, detto breakpoint. Si possono inserire breakpoint ovunque nel programma: quando l’esecuzione del programma giunge ad un breakpoint, il debugger la sospende e consente di esaminare i dati correnti del programma stesso.

    Si capisce quindi l’utilità 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 sull’opzione Debug.

    Se non avete impostato le opzioni di debugging nel progetto, Dev-C++ vi chiederà se volete ricostruire il vostro programma con l’abilitazione di questa opzione. In alternativa è più conveniente aprire il menu a tendina Strumenti, selezionare l’opzione Opzioni di Compilazione e poi quella di Generazione di Codici/Ottimizzazioni: in corrispondenza della sezione Linker, avvalorare con Yes l’opzione 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 un’interruzione 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 l’esecuzione 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 sull’opzione Attiva/Disattiva Debugger. In alternativa potete direttamente cliccare sull’area scura alla sinistra dell’istruzione interessata.

    La linea di codice interessata si colorerà di rosso, indicando che il debugger arresterà l’esecuzione 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 nell’area riservata al controllo del debug.. . . .

    Alternativamente se selezionate una parola nel programma e premete F4, verrà aggiunta l’osservazione della variabile senza che venga richiesto il nome della variabile.

    Ancora, se se puntate il mouse su una variabile e avete abilitato l’opzione Osservazione variabile sotto mouse contenuta nelle Opzioni dell’Ambiente 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 un’istruzione per volta (stepping)

    . . . . . oppure procedere all’istruzione successiva mediante il tasto Step Succ. posizionato in basso a sinistra nell’area riservata al controllo del debug.

    Nel caso l’istruzione 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 nell’area riservata al controllo del debug. Se, invece, si usa il tasto Step Esterno, posizionato in basso a sinistra nell’area riservata al controllo del debug, verrà proseguita l’esecuzione 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 l’elenco 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/

    Diapositiva 1Diapositiva 2Diapositiva 3Diapositiva 4Diapositiva 5Diapositiva 6Diapositiva 7Diapositiva 8Diapositiva 9Diapositiva 10Diapositiva 11Diapositiva 12Diapositiva 13Diapositiva 14Diapositiva 15Diapositiva 16Diapositiva 17Diapositiva 18Diapositiva 19Diapositiva 20Diapositiva 21Diapositiva 22Diapositiva 23Diapositiva 24Diapositiva 25Diapositiva 26Diapositiva 27Diapositiva 28Diapositiva 29Diapositiva 30Diapositiva 31Diapositiva 32Diapositiva 33Diapositiva 34Diapositiva 35Diapositiva 36Diapositiva 37Diapositiva 38