Dev-C++ 5.0
Dev-C++ è un ambiente di sviluppo integrato (IDE) per la programmazione
C/C++. Utilizza come compilatore il porting Mingw del compilatore GCC (GNU
Compiler Collection).
Può creare eseguibili nativi Win32, o eseguibili console o GUI, come DLLs e
librerire statiche. Dev-C++ può anche essere utilizzato in combinazione con
Cygwin o con altri compilatori GCC based.
Dev-C++ è un Free Software distribuito con licenza GNU General Public License
(GPL).
Caratteristiche di Dev-C++ sono:
- Supporto di compilatori GCC based (incluso Mingw)
- Debugging integrato (con GDB)
- Supporto di più linguaggi
- Class Browser
- Debug variable Browser
- Code Completion
- Function Listing
- Project Manager
- Customizable syntax highlighting editor
- Quickly create Windows, console, static libraries and DLL
- Creazione di Makefile creation
- Edit e compilazione di Resource files
- Tool Manager
- Print support
- Find and replace facilities
- Package manager, for easy installation of add-on libraries
Creazione di un progetto
Un progetto è un modo per poter manipolare
diversi file sorgente. Aiuta la navigazione del codice, permette di configurare
facilmente i parametri. E’ utile utilizzare un progetto Dev-C++:
- se c’è più di un file sorgente; bisogna creare un progetto affinché
Dev-C++ possa linkare tutti i file sorgente dopo la loro compilazione;
- nel caso in cui si voglia creare una DLL o una libreria statica (static
library).
Per poter creare un progetto Dev-C++, dal menu File cliccare
su New, poi su Project. Scegliere quindi il tipo di progetto che si vuole
creare:
- Windows application: crea un programma Windows, utilizando le Win32 API
- Applicazione Console: crea un programma console
- Static library: crea un progetto vuoto con le opzioni richieste per la
creazione di una static library
- DLL: crea un Win32 Dynamic Link Library
Selezionare il tipo di progetto, il nome del progetto e il corrispondente
linguaggio (C o C++).
Aggiungere e rimuovere file
Per poter aggiunger dei file al progetto,
basta cliccare dal menu Project la voce Add to Project. Esiste una
voce simile, nello stesso menu, per l’eliminazione di file dal progetto.
Panoramica delle opzioni di un progetto
Per poter accedere alle opzioni di un progetto basta cliccare sulla voce
Options del menu Project.
Dal foglio File è possibile impostare delle opzioni di compilazioni
interessanti per ogni file sorgente:

Include in compilation: se non impostato, il file non
verrà compilato
Include in linking: aggiunge il file oggetto generato
dal file sorgente nella fase di linking
Compile file as C++: impostare
questo flag se il file sorgente è di tipo C++
Override build command:
per utenti esperti. Cambia le opzioni di compilazione utilizzate da Dev-C++.
Il foglio Build Options:
Executable output directory: specifica la directory in
cui verrano creati gli eseguibili (default is project’s directory)
Object
file output directory: specifica la directory in cui verrano creati I gile
oggetto (default is source file’s directory)
Override output filename:
èpossibile cambiare il nome del file di output
Dev-C++ crea automaticamente
un Makefile che indica tutte le opzioni di compilazioni del progetto. In questo
foglio è possibile aggiungere altre linee al Makefile.
Come linkare le librerie nel proprio progetto
I nomi delle librerie nei sistemi GNU sono denotati nella forma libNAME.a
(con NAME il nome della libreria, come wsock32). Dunque per utilizzare la
libreria wsock32, il nome del file sarà libwsock32.a
Il parametro GCC per linkare una libreria è –NAME, quindi per linkare con la
libreria wsock32 dobbiamo dare a GCC il parametro –lwsock32.
Sempre dalle opzioni del progetto, nel foglio Parameters, nel box
Linker, è possible specificare le librerie. È possibile passare anche il
nome completo della libreria.
Esempio: -lwx –lm –lwsock32 c:\libs\mylib.a c:\objs\myobj.o
È possible anche utilizzare il bottone Add Library per selezionare una
libreria da una lista.
Il processo di compilazione
Il processo di compilazione e linking segue
le seguenti fasi:
- Preprocessor: elaborazione dei file prima della compilazione
- Compiler: trasformazione dei file sorgente in codice assembly (processor
language – human readable)
- Assembler: ha in input il codice assembly e genera un codice
machine-readable (binary object code)
- Linker: assembla i codici oggetto per creare l’eseguibile.
Debugging in Dev-C++
Per poter effettuare il debugging del
proprio codice in Dev-C++ basta cliccare la voce Debug dal menu
Debug (shortcut : F8).
Alcuni aspetti del debugger:
- Breakpoints
- Stepping
- Visualizzazione dei valori delle variabili
- Backtracing
- Using the CPU Window
Definire Breakpoints
É possible utilizzare i breakpoints per mettere in pausa il programma su una
certa istruzione (linea del codice). Per aggiungere un breakpoint, selezionare
la linea di codice dove si vuole impostare il breakpoint e dal menu Debug
cliccare su Toggle Breakpoint (shortcut : Ctrl+F5).
Quando si riesegue il debugger, se il programma esegue la linea con il
breakpoint, Dev-C++ avviserà la cosa evidenziando la linea con il colore
blue
Stepping in your program
Una volta raggiunto il breakpoint, è possible
andare aventi in diversi modi:
- Next Step (shortcut : F7): il debugger eseguirà una sola istruzione
- Step Into (shortcut : Shit+F7): il debugger eseguirà una sola istruzione
Se l’istruzione è una chiamata a funzione salterà all’interno della funzione
- Continue (shortcut : Ctrl+F7): il debugger eseguirà il codice fino al
raggiungimento del prossimo breakpoint.
Visualizzazione del valore delle variabili e delle componenti di classi e
strutture
Dev-C++ può visualizzare il valore delle variabili nel Debug
Variable Browser.
È possible visualizzare le variabili cliccando su Add Watch (shortcut:
F4) e inserire il nome della variabile. Si può selezionare il testo dal file
sorgente e premere il tasto F4