Sviluppo delle applicazioni in ambiente Windows
Definizioni di IDE e di "progetto"
Un IDE (Integrated Development Environment) è un programma interattivo che si lancia da sistema operativo e che aiuta lo sviluppatore di software (cioè il programmatore) a costruire un progetto.
Un progetto è un insieme di files, contenenti codice sorgente, che vengono letti ed elaborati dal compilatore separatamente e poi collegati insieme (tramite il linker) per costruire un unico file in codice binario, contenente il programma eseguibile, che può essere a sua volta lanciato dallo stesso IDE o autonomamente da sistema operativo.
Lo sviluppatore interagisce con IDE tramite menù di tipo pop-up (a tendina); in genere le voci di menù più significative sono selezionabili anche tramite toolbars (gruppi di icone) o tramite i cosiddetti acceleratori (tasti della keyboard che eseguono la stessa funzione della corrispondente voce di menù).
Un IDE può aprire sullo schermo e usare parecchie finestre contemporaneamente, contenenti i files sorgente (uno per ogni finestra), l'output del programma, le informazioni acquisite in fase di debug ecc Possono esistere anche finestre che contengono l'elenco dei files, delle funzioni, o anche delle singole variabili utilizzate; "cliccando" su queste voci si può raggiungere rapidamente la parte di programma che interessa esaminare o modificare.
Nel seguito illustreremo brevemente l'utilizzo del seguente IDE: Microsoft Visual C++, versione 6, che gira nel sistema operativo Windows. Teniamo a precisare che il Visual C++ non è soltanto un IDE, ma un linguaggio vero e proprio, essendo dotato di funzionalità e librerie che vanno ben oltre lo standard C++. Noi ci limiteremo, però, ad illustrare il suo ambiente di sviluppo, nella versione "ridotta" per applicazioni che utilizzano solo codice standard.
Gestione di files e progetti
Editor di testo
Un IDE è normalmente provvisto di tutte le funzionalità standard di un editor di testo interattivo (cut, copy, paste, delete, find, replace, undo, redo, ecc ). In più, il suo editor è "intelligente", nel senso che è in grado di riconoscere ed interpretare il testo in modo da renderlo di più facile comprensione (per esempio, scrive le parole-chiave con un altro colore, "indenta" automaticamente le istruzioni che continuano nella riga successiva o che appartengono ad un ambito interno ecc...).
Gestione delle finestre
Costruzione dell'applicazione eseguibile
file make: è creato e aggiornato automaticamente; contiene tutte le relazioni fra i files sorgente e le opzioni di compilazione e link del progetto
programma make: legge il file make ed esegue:
la compilazione di tutti i files del progetto, creando un file binario .obj per ogni file sorgente incluso nel progetto; inoltre la compilazione è di tipo incrementale, nel senso che ricompila solo i files sorgente che sono stati modificati dopo la creazione dei rispettivi .obj
il link di tutti i .obj per la creazione del programma eseguibile, che ha estensione .exe; anche in questo caso l'operazione è di tipo incrementale, cioè viene eseguita solo se almeno un .obj è stato modificato (o se il .exe non esiste).
Debug del programma
Eseguendo il programma in modo debug, è possibile inserire dei breakpoints (punti di interruzione del programma) direttamente nel codice sorgente e poi esaminare il valore corrente delle variabili (con il comando watch, oppure semplicemente posizionando il cursore del mouse sulla variabile da ispezionare: si apre una finestrella gialla (tip) che mostra il contenuto della variabile), oppure eseguire il programma step-by-step (una istruzione alla volta) ecc
Utilizzo dell'help in linea
Ogni buon IDE è provvisto di un robusto sistema di documentazione che spiega il significato e il modo di utilizzo delle parole-chiave del linguaggio, dei simboli, delle variabili predefinite e, ovviamente, delle funzioni di libreria; di solito è organizzato per topics (argomenti), ma esiste anche la possibilità di eseguire la ricerca di ogni singolo termine presente del sistema accedendo a un elenco generale in ordine alfabetico.
Inoltre è disponibile il "context sensitive help" che permette di accedere direttamente all'informazione desiderata posizionando il cursore del mouse all'interno della finestra di editor del proprio file sorgente, sopra la variabile o funzione da esaminare, e poi spingendo il tasto F1.
Infine il testo della guida in linea è accessibile con la funzionalità copy dell'editor (ovviamente non con cut o paste, essendo in sola lettura): ciò consente di selezionare e trasferire nel proprio programma brani di codice (per esempio nomi di funzioni o variabili predefinite) senza possibilità di errore.