Lab 01 Introduzione a Codelite

Documenti analoghi
Lab 01 Introduzione a Codelite

Lab 01 Introduzione a Codelite

Unix e comandi di base

Lab 01 Introduzione a Codelite

PER UTILIZZARE LCC IN LAB

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

COSTRUZIONE DI UN APPLICAZIONE

COSTRUZIONE DI UN APPLICAZIONE

PROGETTI SU PIU` FILE

NOTE SULL USO DI ECLIPSE per la compilazione di programmi c

COMPILAZIONE DI UN APPLICAZIONE. 1) Compilare il file (o i file se più d uno) che contengono il testo del programma. compilatore

Fondamenti di Informatica AA 2016/2017

Introduzione a Visual Studio 2005

Introduzione alla compilazione ed esecuzione di programmi C con IDE Dev-C++

INTRODUZIONE A VISUAL STUDIO

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

Variabile. Variabile. Definizione di variabile. Esempi. x x=4;

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

Debugger. Marco Alberti Programmazione e Laboratorio, A.A

IDE DevC

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

Fondamenti di Informatica. Ingegneria elettronica

Introduzione a CodeBlocks. Università degli Studi di Brescia Sergio Colosio

Esercitazioni di Fondamenti Informatica - Modulo A 1

Bloodshed Dev-C++ Bloodshed Dev-C++ è l IDE usato durante le esercitazioni/laboratorio. IDE = Integrated Development Environment. Codice corso: 21012

INTRO a MS Visual Studio 2008: LINEA di COMANDO

INTRO a MS Visual Studio 2008: LINEA di COMANDO

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

Fondamenti di Informatica T2 Modulo 2

Installazione. Eclipse. Workspace. Primo Avvio. Fondamenti di Informatica T2 Modulo 2. Università di Bologna A.A. 2008/2009

Debug di un programma

Esercitazioni di FONDAMENTI DI INFORMATICA MODULO B

STRUTTURA DI UN PROGRAMMA!

Laboratorio di Informatica

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

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

Laboratorio di Informatica

L IDE NETBEANS. (slide: A. Baratè) Programmazione per la Musica Adriano Baratè

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

Bloodshed Dev-C++ Bloodshed Dev-C++ è l IDE usato durante le esercitazioni/laboratorio. IDE = Integrated Development Environment. Codice corso: 21012

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

Guida introduttiva su Eclipse. Ing. Marco Dell'Unto

Introduzione al DEV C++

Fondamenti di Informatica II 6. Esercitazioni Laboratorio 1

Tutorial su Codelite. Luca Ceriani 2011 Federico Cerutti

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

Laboratorio di Informatica

Il compilatore Dev-C++

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

Aprire MPLAB. Cliccare sull icona presente sul Desktop

Integrated Development Environment (IDE) DevC Manuale utente

Lezione 19: Il preprocessore

Compilatori. g ++ prog.c. che crea il file eseguibile a.out. È utile conoscere alcune opzioni di g ++

Linguaggi Compilati vs. Interpretati

PROCEDURA D INSTALLAZIONE DEL SOFTWARE DELLA CARTA TS-CNS. ATOS su Linux 32 bit e 64 bit

STRUTTURA DI UN PROGRAMMA

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

install code Blocks windows 10/OSX A.A. 2019/20

DEBUGGING. Ivan Lanese

Ambiente di Sviluppo Dev-C++

PROCEDURA D INSTALLAZIONE DEL SOFTWARE DELLA CARTA TS-CNS. OBERTHUR su Linux FEDORA DEBIAN/UBUNTU 32 bit e 64 bit

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

f2.obj compilatore compilatore linker f3.obj compilatore

PROCEDURA D INSTALLAZIONE DEL SOFTWARE DELLA CARTA TS-CNS. ACTALIS su Mac OS

Progetti su più File Sorgenti

Fondamenti di Informatica 9. Esercitazione in linguaggio C

deve conoscerne solo l interfaccia:

Il Linguaggio C. Caratteristiche. Caratteristiche. Esempio di programma in C. Tipi di dato primitivi in C. Dati

Fondamenti di informatica T-1 (A K) Esercitazione 6: Eclipse

DEBUGGING. Ivan Lanese

Eclipse e SDK. Capiamo che sistema operativo abbiamo

Fondamenti di Informatica Ingegneria Biomedica A.A. 2017/18

Informatica (A-K) 9. Esercitazione in linguaggio C

PROCEDURA D INSTALLAZIONE DEL SOFTWARE DELLA CARTA TS-CNS. OBERTHUR su Mac OS

Titolo presentazione INFORMATICA. sottotitolo A.A Milano, XX mese 20XX Laboratorio n 1 Dott. Michele Zanella

Istruzioni installazione

2 Lavorare con Eclipse

Fondamenti di Informatica T-1

PROGRAMMAZIONE A MODULI IN C++ MEDIANTE CODEBLOCKS

Ambienti di Sviluppo. Linguaggi compilati

prova.c #include <stdio.h> char funzione(char); codice oggetto del main()

Introduzione al C. Unità 10 Preprocessore

Introduzione al C. Unità 10 Preprocessore. D. Bloisi, S. Peluso, A. Pennisi, S. Salza

PROCEDURA D INSTALLAZIONE DEL SOFTWARE DELLA CARTA TS-CNS. ATOS su Mac OS 10.5, OS 10.6 e OS 10.7+

Classificazione: Pubblico Guida all installazione di una nuova versione di DigitalSign tramite Aggiornamento Automatico

Programmazione I - Laboratorio

Modulo III - Guida alla installazione di R

MS Visual Studio: Linea di Comando

Transcript:

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

Costruzione di un Applicazione Per costruire un applicazione occorre: compilare il file (o i file se più d uno) che contengono il testo del programma (file sorgente) Il risultato sono uno o più file oggetto. collegare i file oggetto l uno con l altro e con le librerie di sistema. Lab01 2

Preprocessore Il preprocessore agisce prima del compilatore manipolando il testo del file sorgente: Include porzioni di testo prese da altri file (direttiva #include) Effettua sostituzioni di testo (direttiva #define) Elimina parti di testo (ad esempio i commenti) Il preprocessore non è un compilatore Non è in grado di rilevare eventuali errori di sintassi Lab01 3

Compilazione di un Applicazione 1) Compilare il file (o i file se più d uno) che contengono il testo del programma File sorgente: estensione.c File oggetto: estensione.o o.obj f1.c compilator e f1.o bj f1.obj: Una versione tradotta che però non è autonoma (e, quindi, non è direttamente eseguibile). Lab01 4

Collegamento (Linking) di un Applicazione 2) Collegare il file (o i file) oggetto fra loro e con le librerie di sistema File oggetto: estensione.o o.obj File eseguibile: estensione.exe o nessuna f1.obj linker prog.ex e LIBRERIE DI SISTEMA Programma eseguibile Lab01 5

Collegamento (Linking) di un Applicazione LIBRERIE DI SISTEMA: insieme di componenti software che consentono di interfacciarsi col sistema operativo, usare le risorse da esso gestite, e realizzare alcune "istruzioni complesse" del linguaggio Lab01 6

Ambienti Integrati Oggi, gli ambienti di lavoro integrati automatizzano la procedura: compilano i file sorgente (se e quando necessario) invocano il linker per costruire l eseguibile ma per farlo devono sapere: quali file sorgente costituiscono l applicazione il nome dell eseguibile da produrre. Lab01 7

Progetti È da queste esigenze che nasce il concetto di PROGETTO un contenitore concettuale (e fisico) che elenca i file sorgente in cui l applicazione è strutturata ed eventualmente altre informazioni utili. Oggi, tutti gli ambienti di sviluppo integrati, per qualunque linguaggio, forniscono questo concetto e lo supportano con idonei strumenti. Lab01 8

Installare Codelite in Windows Prima di installare CodeLite è necessario installare diversi pacchetti MinGW: Scaricare MinGW dal sito http://sourceforge.net/projects/mingw/ Installare MinGW All interno di MinGW selezionare i pacchetti mingw-developer-tollkit, mingw-base, mingwgcc-g++, mingw-make (tutti i pacchetti mingwmake) Una volta installato MinGW è possibile procedere con l installazione di codelite

Installare Codelite in Windows Download dal sito web: http://downloads.codelite.org/ Windows Mac OS X Linux Oppure installare la macchina virtuale fornita: Instruzioni per l'installazione

Prima Configurazione (1) Al primo avvio di Codelite sotto Windows sulle macchine in laboratorio, sarà necessario configurare l ambiente di sviluppo È una procedura automatica avviata alla prima esecuzione È possibile scegliere alcune opzioni per specificare la modalità di visualizzazione del codice e altri dettagli IMPORTANTE! quando verrà chiesto che compiler occorre selezionare MingGW

Prima Configurazione (2)

Prima Configurazione (3) Selezionare C/C++ come Development Profile

Prima Configurazione (4) Selezionare Scan per rilevare i compilatori installati

Prima Configurazione (5) Selezionare MinGW come compilatore

Prima Configurazione (6) Selezionare i colori dell Editor (consigliato Default)

Prima Configurazione (7) Selezionare il tipo di indentazione

Prima Configurazione (8) Nel caso la prima configurazione non fosse stata eseguita correttamente quando proverete ad usare il debugger verrà mostrato a video un errore. Per rimediare eseguire nuovamente la procedura di selezione del compiler (MinGW) Selezionare dal menù Settings -> Build settings, nella scheda Compiler, cliccare sul menù Add compilers e selezionare Scan computer for installed compilers - > OK -> OK. Se il problema persiste (o per eliminare ogni dubbio..) eliminare il workspace corrente e crearne uno nuovo

Progetti in Codelite Tramite il menu Workspace scegliere New Workspace Lab01 19

Progetti in Codelite Selezionare C++ Inserire il nome del Workspace ed il percorso

Progetti in Codelite Ogni workspace può contenere uno o più progetti Selezionare la categoria Console ed il template Simple executable (gcc) quindi premere Next

Progetti in Codelite Inserire il nome del progetto Selezionare il compilatore MinGW ed il debugger gdb

Progetti in Codelite Workspace View EditorView Output View

Progetti in Codelite Workspace View Alla creazione di un progetto, l IDE Codelite crea automaticamente il file principale contenente la funzione main del programma. Da questa interfaccia è dedicata alla gestione dei file sorgente

Progetti in Codelite Click destro sulla directoy src per aggiungere un file sorgente

Progetti in Codelite EditorView Barra delle Tab: veloce accesso ai file sorgenti aperti Per attivare l elenco delle funzioni Numeri di linea Elenco delle funzioni: per raggiungere velocemente un punto nel codice

Progetti in Codelite EditorView

Progetti in Codelite RUN: Per Eseguire il programma BUILD: COMPILE + LINK BUILD + RUN

Progetti in Codelite PROVATE A ESEGUIRE BUILD AND RUN PROJECT

Progetti in Codelite Output View Visualizzazione intuitiva degli errori e dei warning di compilazione e di linking Visualizzazione dell output di compilazione su console

Progetti in Codelite QUANDO IN UN WORKSPACE SONO PRESENTI DIVERSI PROGETTI, IL PROGETTO ATTIVO È SCRITTO IN GRASSETTO PROJECT_1 ATTIVO PROJECT_2 ATTIVO PER ATTIVARE UN PROGETTO FARE DOPPIO CLICK SUL NOME DEL PROGETTO

PROVATE A MODIFICARE IL CODICE IN QUESTO MODO E COMPILATE Build: Warning

Build: Warning Indicazione del warning Lab01 33

Build: Errors INDICAZIONE DEGLI ERRORI Lab01 34

ESAMIX http://esamix.labx

Il Debugger Una volta scritto, compilato e collegato il programma (ossia, costruito l eseguibile) occorre uno strumento che consenta di eseguire il programma passo per passo vedendo le variabili e la loro evoluzione e seguendo le funzioni via via chiamate. Debugger Lab01 36

Debugger Sia Codelite sia altri ambienti di sviluppo incorporano un debugger con cui eseguire il programma, riga per riga entrando anche dentro alle funzioni chiamate oppure considerando le chiamate di funzione come una singola operazione oppure inserendo breakpoints Lab01 37

Debugger Eseguire in modalità debug Inserire un Breakpoint

Debugger Prima di iniziare la sessione di debugging e possibile inserire i cosiddetti breakpoints punti di interruzione nell esecuzione del programma in cui il debugger fornisce una fotografia dello stato delle variabili Per inserire un breakpoint posizionare il cursore nel punto in cui si vuole fermare il debug e (alternative): Utilizzare il comando da Menù Premere F9 Singolo click a fianco del numero di riga Lab01 39

Debugger Execute Show current Line Next Step In Step Out Execute: esegue il programma fino al prossimo breakpoint Step in: esegue passo passo le istruzioni di una funzione Step Out: esegue l istruzione e torna alla funziona chiamante Next: esegue l istruzione corrente Show current line: permette di posizionare il cursore in una determinata posizione nel sorgente e esegue tutte le istruzioni fino ad arrestarsi al cursore. Lab01 40

Debugger: Locals SCRIVETE IL SEGUENTE CODICE, INSERITE UN BREAKPOINT ALLA LINEA 6, QUINDI DEBUG START/CONTINUE DEBUGGER Lab01 41

Debugger: Locals FINESTRA DI DEBUG LOCALS: VARIABILI LOCALI MEMORIZZATE SULLO STACK WATCHES: VARIABILI O ESPRESSIONI DEL PROGRAMMA Lab01 42

Debugger: Locals PREMERE Lab01 43

Debugger: Locals PREMERE 2 VOLTE QUINDI PREMERE PER TERMINARE IL DEBUG Lab01 44

Debugger: Locals SCRIVETE IL SEGUENTE CODICE, INSERITE UN BREAKPOINT ALLA LINEA 8, QUINDI DEBUG START/CONTINUE DEBUGGER QUINDI PREMETE 2 VOLTE Lab01 45

Debugger: Locals PREMERE Lab01 46

Debugger: Locals PREMERE Lab01 47

Debugger: Locals PREMERE QUINDI Lab01 48

Debugger: Locals QUINDI PREMERE PER TERMINARE IL DEBUG Lab01 49

Debugger: Watches SCRIVERE IL SEGUENTE PROGRAMMA SETTARE UN BREAKPOINT ALLA LINEA 7 INIZIARE UNA SESSIONE DI DEBUG (DEBUG START/CONTINUE DEBUGGER) Lab01 50

Debugger: Watches ALL INTERNO DELLA FINESTRA DEBUG SELEZIONATE WATCHES CLICCATE SULL ICONA PER INSERIRE UN WATCH DI B[0] RIPETERE L OPERAZIONE ANCHE PER B[1] B[2] E B[3] Lab01 51

Debugger: Watches PREMERE 2 VOLTE Lab01 52

Debugger: Watches PREMERE 5 VOLTE QUINDI PREMERE PER TERMINARE Lab01 53

Esercizio Copiare e provare il seguente programma #include <stdio.h> int main(int argc, char **argv) { int base, altezza, area; printf("calcolo area rettangolo\n"); printf("inserire la larghezza del rettangolo:\n"); scanf("%d",&base); printf("inserire l'altezza del rettangolo:\n"); scanf("%d",&altezza); area = base * altezza; printf("il rettangolo ha area uguale a %d\n", area); return 0; }