Fondamenti di Informatica T-1 CdS Ingegneria Informatica. Introduzione agli ambienti di sviluppo MS Visual Studio 2005/2008/2010 CodeLite 6.1.

Documenti analoghi
INTRODUZIONE A VISUAL STUDIO

Introduzione a Visual Studio 2005

Debug di un programma

INTRO a MS Visual Studio 2008: LINEA di COMANDO

Fondamenti di Informatica T-1 CdS Ingegneria Informatica a.a. 2011/2012. Introduzione a Visual Studio 2005/2008/2010

Introduzione a Visual Studio 2005

Introduzione a Visual Studio Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni

Università di Ferrara Facoltà di Ingegneria. Esercitazioni di FONDAMENTI DI INFORMATICA MODULO B

Università di Ferrara. Facoltà di Ingegneria. Esercitazioni di

Lab 01 Introduzione a Codelite

Il compilatore Dev-C++

PER UTILIZZARE LCC IN LAB

COSTRUZIONE DI UN APPLICAZIONE

Esplorare e modificare il file system Compilare con gcc Lanciare un programma da linea di comando

Fondamenti di Informatica II 6. Esercitazioni Laboratorio 1

Guida introduttiva su Eclipse. Ing. Marco Dell'Unto

Università di Ferrara Facoltà di Ingegneria. Esercitazioni di FONDAMENTI DI INFORMATICA MODULO B

Guida all uso dell ambiente di sviluppo 1 integrato o IDE JCreator LE

Fondamenti di Informatica 9. Esercitazione in linguaggio C

COSTRUZIONE DI UN APPLICAZIONE

Lab 01 Introduzione a Codelite

Tutorial su Codelite. Luca Ceriani 2011 Federico Cerutti

Linguaggio C: Introduzione ad ambienti di sviluppo integrati (IDE) e a Dev-C++ Università degli Studi di Brescia

Fondamenti di Informatica L-A

DEBUGGING. Ivan Lanese


NetBeans. Dott. Ing. Rossella Rubino A.A. 2007/2008 Laboratorio II CdL: Operatore Informatico Giuridico

Aprire MPLAB. Cliccare sull icona presente sul Desktop

I TUTOR. Massimiliano Cattafi Ilaria Laurenti

2 Lavorare con Eclipse

14Ex-Cap11.qxd :20 Pagina Le macro

Il Manuale di KXSLDbg. Keith Isdale Traduzione del documento: Samuele Kaplun Traduzione del documento: Simone Solinas

Debugger. Marco Alberti Programmazione e Laboratorio, A.A

Compilazione separata. Come realizzare correttamente un piccolo progetto su piu' file

Linea di comando. Compilazione. Aprire una shell di DOS tramite:

Corso di Laurea in Matematica. Seminario C/C++ Lorenzo Dusty Costa. Università degli Studi di Milano Dipartimento di Matematica

Certification Authority del Consiglio Nazionale del Notariato. Configurazione postazione PC per Windows 7, 8 e 10 Manuale Utente

GRAFICO DI PARETO. variabile rispetto a cui si vuole ordinare (ossia nel nostro esempio

Fondamenti di Informatica e Laboratorio T-AB Ingegneria Elettronica e Telecomunicazioni. Lab 01. Introduzione a Codelite. Lab01 1

Anno Accademico Laboratorio di Tecnologie Web Uso di Firebug

CORSO DI FORMAZIONE DOCENTI DELLE SCUOLE PUBBLICHE A GESTIONE PRIVATA ECDL, LA PATENTE EUROPEA PER L USO DEL COMPUTER GUIDA SINTETICA

La tua prima app su Android

Lanciare MPLAB IDE (Start->Programmi->Mirochip->MPLAB IDE v7.22->mplab IDE):

Introduzione al DEV C++

per ulteriori informazioni consultare la guida disponibile on line all indirizzo:

Importazione dati. e/fiscali Spesometro - Rel con gestionale e/satto. Gestionale e/satto

INTRODUZIONE ALLA PROGRAMMAZIONE

Video Scrittura (MS Word) Prima Parte

Cos'é Code::Blocks? Come Creare un progetto Come eseguire un programma Risoluzione problemi istallazione Code::Blocks Che cos è il Debug e come si usa

WINDOWS 2000, XP tutti, 7 Tutti

PROCEDURA DI ESTRAZIONE STAMPA REPORT E LETTERE DI SOLLECITO (serial 44)

IDE DevC

Software WinEeprom Evo

WEBMAIL ODCECTA.IT. Guida all uso

3.5.1 PREPARAZ1ONE I documenti che si possono creare con la stampa unione sono: lettere, messaggi di posta elettronica, o etichette.

DMX LIGHTPLAYER Introduzione...2 Libreria DMX...3 Programmazione dei canali...7 Creazione di uno show...11

Microsoft Access. Microsoft Access. Maurizio Rebaudengo, Paolo Garza 1. Microsoft Access. Creazione base di dati. Apertura di una base dati

Istruzioni Fatel Modulo CADI PRESENTAZIONE FILE LIQUIDAZIONE IVA

Sas OnDemand for Academics & SAS e-learnings. Metodi Quantitativi per Economia, Finanza e Management

TALKING PAPER MANUALE D USO

Sesta parte: Come creare una lista di distribuzione e come gestirla dalla rubrica.

Initiative. Ethernet-MPI convertitore e 6180XIO

Istruzioni per la compilazione del modulo di deposito per parti non rituali

Funzioni. Unità 1. Domenico Daniele Bloisi. Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR

Utilizzo delle Maschere in Microsoft Access

PROCEDURA D INSTALLAZIONE DEL SOFTWARE DELLA CARTA TS-CNS. OBERTHUR su Windows 32 bit e 65 bit

APVE in Rete Modulo 8 Excel nozioni di base e esercitazioni su economia domestica

Utilizzare il debugger di Visual Studio

Tutorial. Funzioni di personalizzazione dei software.

Il Sistema Operativo

Certification Authority del Consiglio Nazionale del Notariato. Configurazione postazione PC per Windows 7, 8 e 10 Manuale Utente v7

4. I moduli in Access 2000/2003

Fondamenti di Informatica T-1

Introduzione all uso di Eclipse

Guida all uso dell ambiente di sviluppo 1 integrato o IDE. JCreator LE 4.50

Corso di Access. Prerequisiti. Modulo L2 A (Access) Le query

L INTERFACCIA GRAFICA DI EXCEL

Calcolare con il computer: Excel. Saro Alioto 1

Ingegneria del Software 1: Eclipse

Servizio di posta Exchange di Office 365: visualizzazione e gestione delle caselle di struttura/servizio (caselle di posta condivisa)

Foglio elettronico Microsoft Office Excel 2003

Guida all installazione del software GestAgenzia. 1.1 Introduzione al software. 1.2 Requisiti minimi hardware e software

Le basi del linguaggio Java


Primi passi con Geogebra

Windows. La prima realizzazione di un ambiente grafico si deve alla Apple (1984) per il suo Macintosh. La gestione dei file conserva la logica del DOS

Excel. Il foglio di lavoro. Il foglio di lavoro Questa viene univocamente individuata dalle sue coordinate Es. F9

MANUALE PER IL REDATTORE DELL UFFICIO STAMPA

Elenchi numerati. Il procedimento per gli elenchi numerati è simile: o l icona o la finestra del menu formato

Cosa è importante: pom.xml Goal Plug-in Repository

Funzioni, Stack e Visibilità delle Variabili in C

X-RiteColor Master Web Edition

Comandi principali di Linux (1)

Modulo 10: Configurare la barra degli strumenti

Scrigno Client Setup

LOGVIEWER MANUALE D USO

Catalogo Elettronico Mercedes Benz & Smart Manuale sulla Navigazione

Operazioni preliminari: creare una cartella in Documenti

MySQL Migration Toolkit

Transcript:

Fondamenti di Informatica T-1 CdS Ingegneria Informatica Introduzione agli ambienti di sviluppo MS Visual Studio 2005/2008/2010 CodeLite 6.1.1 1

Outline Solution/Workspace e Project IDE e linguaggio C Schermata principale Aggiungere file a un progetto Compilare ed eseguire un programma Debug di un programma Appendice A: Che cosa fare se Appendice B: Creare un progetto per il C 2

Solutions/Workspace e Projects Nei moderni IDE ogni programma si sviluppa come un progetto Un progetto contiene tutte le informazioni utili/necessarie per realizzare il programma Elenco dei file sorgenti che compongono quel programma Opzioni particolari relative allo specifico progetto 3

Solutions/Workspace e Projects A volte un programma usa funzionalità offerte da un altro programma In tal caso, è utile avere due progetti separati (uno per ogni programma) ma è utile anche raggruppare i programmi secondo criteri di utilizzo (il programma A usa il programma B) secondo criteri di affinità funzionali (i programmi A e B svolgono compiti molto simili) secondo criteri di composizione (i programmi A e B condividono lo stesso componente) 4

Solutions/Workspace e Projects Una Solution (termine Microsoft) o un Workspace (termine CodeLite ed Eclipse) è un insieme di progetti, raggruppati secondo qualche criterio o esigenza Una Solution/Workspace è composta da: uno o più progetti opzioni particolari relative alla specifica solution Vantaggi: Riusabilità dei singoli progetti Modularità nella realizzazione di sistemi complessi 5

Solutions/Workspace e Projects In Visual Studio/CodeLite, ogni progetto è parte di almeno una solution/workspace. Quindi, nell ambito di questo corso Ogni programma sarà un progetto diverso Per ogni progetto, una Solution/Workspace distinta, contenente solo quel progetto 6

IDEs e il linguaggio C Visual Studio/CodeLite a default supportano il linguaggio C++, non direttamente il linguaggio C C++ è un estensione del C È possibile usare Visual Studio/CodeLite per realizzare programmi in C può essere vantaggioso specificare nelle opzioni di progetto che si sta scrivendo un programma in linguaggio C!!! Altrimenti: Il compilatore non rileva alcuni errori (ma in questo corso non accadrà...) Può segnalare errori inconsistenti con le regole del linguaggio C 7

Visual Studio: schermata principale Solution Explorer Compile and Debug Palette Source files Additional windows 8

Visual Studio: schermata principale Solution Explorer Mostra l elenco dei progetti e dei file appartenenti ad ogni progetto. Per aprire un file, basta fare doppio click su di esso Source files Mostra i file aperti, ogni file in un tab separato Additional Windows Mostrano alcune finstre ausiliarie molto importanti, quali: Output : mostra i messaggi di errore o di successo forniti dal framework Error List : elenco degli errori e dei warning rilevati in fase di compilazione. Cliccando su un errore, viene aperto il file corrispondente, e il cursore si posiziona nel luogo dove il compilatore presume ci sia l errore Compile e Debug Palette Contengono i pulsanti per compilare e per fare il debugging di un programma 9

Visual Studio: Error List window Contiene la lista degli errori e dei warning rilevati dal compilatore Gli errori sono situazioni gravi, che rendono impossibile compilare il programma I warning sono situazioni in cui qualcosa di strano è stato rilevato dal compilatore, che però riesce a compilare comunque ma spesso sono sintomi di errori non trascurabili Un programma ben fatto, al momento della compilazione: Non contiene errori Non genera warning 10

Aggiungere files ad un progetto 1. Selezionare la cartella relativa a un file header o un file sorgente 2. Tasto dx Add New Item (oppure Menu File New) 3. Si apre la finestra di creazione file Selezionare Visual C++ Code Poi scegliere la creazione di un header file (.h) o di un file sorgente (.cpp) NOTA: nel secondo caso, specificare esplicitamente oltre al nome anche l estensione.c! 11

Compilazione/Linking Menu Build Build All = compilazione + linking di tutti progetti build = compilazione +linking compilazione linking Per verificare i warning 12 selezionare Rebuild Project

Esecuzione di un programma Esegue un programma in modalità Debug Si ferma solo in presenza di un breakpoint Come possiamo capire se un programma è corretto? Innanzitutto deve poter essere compilato senza errori e senza messaggi di warning Prevedere l output di un programma, e controllare eseguendo che tale output corrisponda 13

CodeLite: schermata principale Workspace View Compile and Debug Palette Source files Additional windows 14

CodeLite: schermata principale WorkspaceView Mostra l elenco dei progetti e dei file appartenenti ad ogni progetto. Per aprire un file, basta fare doppio click su di esso Source files Mostra i file aperti, ogni file in un tab separato Additional Windows Mostrano alcune finstre ausiliarie molto importanti, quali: Build : mostra i messaggi di errore o di successo forniti dal framework durante la compilazione "Output": mostra i messaggi di output quando viene eseguito un programma Compile e Debug Palette Contengono i pulsanti per compilare e per fare il debugging di un programma 15

CodeLite: error list nella finestra Output Contiene la lista degli errori e dei warning rilevati dal compilatore Gli errori sono situazioni gravi, che rendono impossibile compilare il programma I warning sono situazioni in cui qualcosa di strano è stato rilevato dal compilatore, che però riesce a compilare comunque ma spesso sono sintomi di errori non trascurabili Un programma ben fatto, al momento della compilazione: Non contiene errori Non genera warning 16

CodeLite: Aggiungere file ad un progetto 1. Selezionare la cartella relativa a un file header o un file sorgente 2. Tasto dx Add a New File 3. Si apre la finestra di creazione file Selezionare "C Source File" o "Header File" 17

CodeLite: Compilazione/Linking ed esecuzione Usando i menu apposite Usando le toolbar... tutto analogo a quanto già visto per Visual Studio

Debug di un programma Col termine Debug si intende una fase di sviluppo del software, nella quale si cerca di eliminare gli errori dal programma Due tipi di errori: Errori sintattici, rilevati sempre dal compilatore in fase di compilazione Errori semantici, difficilmente rilevabili Esempio: un programma deve eseguire la somma di due numeri, ma il programmatore in un momento di distrazione ha usato il simbolo di operazione - invece del simbolo + CONSEGUENZE: il programma è sintatticamente corretto, ma non esegue ciò che è stato richiesto 19

Debug di un programma Il programmatore deve essere in grado, per ogni istruzione del proprio programma, di prevedere che cosa farà tale istruzione, cioè Il programmatore deve conoscere in anticipo gli effetti derivanti dall eseguire una certa istruzione IDEA: per ogni istruzione del programma: a) Calcolo quali siano gli effetti nell eseguire l istruzione b) Eseguo tale istruzione c) Verifico che gli effetti siano effettivamente ciò che mi aspettavo Se la verifica fallisce, ho trovato un errore! 20

Uso del debug L ambiente di sviluppo ci mette a disposizione una serie di funzionalità per: Eseguire passo passo ogni istruzione Controllare lo stato del nostro programma Visualizzare il contenuto delle variabili (monitoraggio) Visualizzare lo stack delle chiamate a funzione (imparerete presto che cosa significa ) 21

Lancio di un programma e debug Premere il pulsante con l icona play per lanciare il programma Il programma viene lanciato in modalità debug (a indicare che è ancora sotto test) Da un punto di vista dell esecuzione non cambia niente ma vi dà la possibilità di andare a controllare il vostro codice istruzione per istruzione 22

Passi di debug È possibile controllare l esecuzione istruzione per istruzione (usando uno dei tasti step ) Basta premere uno di essi per lanciare il programma passo passo (al posto di play ) E se l istruzione chiama una funzione? Step Into continua il debug entrando nel codice della funzione Step Over continua il debug ripartendo dal punto immediatamente successivo alla chiamata di funzione (ovvero esattamente dopo la restituzione del valore) Se sono all interno di una funzione, con Step Out posso continuare il debug all istruzione che segue return della funzione 23

Breakpoints (1) Cominciare il debug dall inizio del programma può essere scomodo Possiamo inserire dei breakpoint Punti del programma che ci interessa monitorare Il programma esegue normalmente fino al breakpoint, poi passa in modalità debug Breakpoint Click per aggiungerne uno 24

Breakpoints (2) Una volta bloccata l esecuzione al raggiungimento di un breakpoint si può decidere Di continuare l esecuzione normalmente fino al prossimo breakpoint (pulsante play ) Di continuare il debug istruzione per istruzione (con uno dei vari step ) Nota: i breakpoint possono essere associati a condizioni e altre proprietà configurabili (es: si può indicare di attivare il breakpoint solo se una certa variabile è uguale a 0) Menu Debug Windows Breakpoints apre la finestra di configurazione e definizione dei vari breakpoint 25

Monitoraggio variabili Tre finestre di monitoraggio delle variabili Auto Visualizza il contenuto delle variabili definite all interno dello scope corrente (e anche il valore di ritorno all uscita da una funzione) Es: valore della variabile a prima dell inizializzazione Local Visualizza il contenuto delle variabili locali, ovvero tutte quelle visibili all interno della funzione corrente (nota: in caso di scope innestati con variabili con lo stesso nome, compaiono ripetizioni) Watch Permette di inserire il nome della variabile da monitorare (attenzione agli scope) È possibile anche monitorare espressioni (es: a+b) 26

Finestra Call Stack Permette di visualizzare lo stack delle chiamate a funzione Alla chiamata di una funzione viene aggiunta una riga che mostra il valore dei parametri attuali All uscita di una funzione rimozione della riga (in cima) È possibile selezionare una qualsiasi delle righe, e le finestre di monitoraggio delle variabili recuperano lo stato corrispondente Provare con funzioni ricorsive! Call stack del fattoriale ricorsivo 27

Esercizio Creare un nuovo progetto per il linguaggio C (a tal scopo, utilizzare il progetto vuoto disponibile sul sito del corso) Nel file sorgente main.c, scrivere il seguente codice: #include <stdio.h> #include <stdlib.h> int main() { int a; a = 2+3; printf( Hello world! ); a = a-3; system( PAUSE ); } Compilare il programma Eseguire il programma Settare un break point all istruzione a= 2+3; Rieseguire il programma utilizzando il debug, e verificare che cosa succede ad ogni istruzione 28

Appendice A: Che cosa fare se (MS Visual Studio) 29

Cosa fare se non compare il Solution Explorer 1. Menù View 2. Selezionare la voce Solution Explorer non compare la finestra Output in basso 1. Menù View 2. Selezionare la voce Output non compare la finestra Error List in basso 1. Menù View 2. Selezionare la voce Error List 30

Cosa fare se non compare la Build Palette 1. Cliccare con il tasto di destra del mouse un punto qualunque sulla barra dei bottoni o dei menu 2. Selezionare la voce Build non compare la Debug Palette 1. Cliccare con il tasto di destra del mouse un punto qualunque sulla barra dei bottoni o dei menu 2. Selezionare la voce Debug 31

Appendice B: Creare un progetto per il C (MS VIsual Studio) 32

C++ vs. C Visual Studio supporta il C++ Visual Studio supporta in modo non diretto anche il C Per creare un nuovo progetto: 1.Si crea un nuovo progetto C++ 2.Si configura tale progetto in maniera opportuna per il linguaggio C 33

1. Creare un nuovo progetto C++ 1.a) New project button 1.b) Seleziono Visual C++ 1.c) Seleziono la categoria Win32 1.d) Come tipo di progetto, seleziono Win32 Console Application 1.e) Specifico il nome di progetto 1.f) Specifico dove voglio salvare il progetto 1.g) Clicco OK 34

1. Creare un nuovo progetto C++ 1.h) Configuro correttamente il progetto in questa schermata mi limito a cliccare Next > 35

1. Creare un nuovo progetto C++ 1.i) Specifico come Application type ancora Console application 1.j) Seleziono come Additional options la voce Empty Project 1.k) Clicco su Finish 36

2. Configuro il progetto per il C Il progetto così creato risulta essere un progetto vuoto è vostro compito aggiungere un nuovo file di nome main.c, che al suo interno contenga una funzione di nome main Il progetto è ancora configurato per C++ ma in virtù della parentela tra C e C++, Visual Studio compila ed esegue tale progetto in maniera corretta 37

2. Configuro il progetto per il C Perchè devo aggiungere ulteriori configurazioni per il solo C? Visual Studio controlla la sintassi del nostro programma come se fosse C++ alcune istruzioni non sono parte del linguaggio C, ma solo del C++, e quindi non vengono segnalate come errori (ma invece in C lo sono!) Visual Studio segnala poi alcune istruzioni lecite in C con dei warning, poichè in C++ tali istruzioni non si usano più (ma sono supportate per compatibilità) 38

2. Configuro il progetto per il C È sufficiente aggiungere due configurazioni particolari: 1. Specificare l uso del solo linguaggio C: in questo modo Visual Studio verificherà automaticamente che il programma sia effettivamente scritto in C e non in C++ 2. Specificare di non segnalare come warning l uso di alcune istruzioni particolari, che in C++ sono considerate deprecated, ma in C (e in questo corso) saranno utilizzate frequentemente 39

2. Configuro il progetto per il C 2.a) Seleziono la voce Project del menu, e poi scelgo la voce Properties 40

2. Configuro il progetto per il C 2.b) Nella finestra Property Pages del mio progetto, seleziono la voce Configuration Properties 2.c) Poi la voce C/C++ 2.d) Poi la voce Advanced 2.e) Modifico la proprietà Compile as : il valore da selezionare è Compile as C Code (/TC) 41

2. Configuro il progetto per il C 2.f) Nella finestra Property Pages del mio progetto, seleziono la voce Configuration Properties 2.g) Poi la voce C/C++ 2.h) Poi la voce Command Line 2.i) Aggiungo nella casella Additional options l opzione /wd4996 2.j) Clicco su OK 42