Preprocessore, linker e libreria standard
|
|
- Samuele Monti
- 4 anni fa
- Visualizzazioni
Transcript
1 Preprocessore, linker e libreria standard Università degli Studi di Brescia Prof. Massimiliano Giacomin Elementi di Informatica e Programmazione Università di Brescia 1
2 IL PREPROCESSORE Programma sorgente Preprocessore Programma sorgente modificato Compilatore Programma eseguibile Linguaggio C Linguaggio C Linguaggio macchina Finora abbiamo trascurato il ruolo del preprocessore Esegue le direttive del preprocessore, rimuovendole - hanno la forma #direttiva - non sono seguite da punto e virgola Rimuove i commenti (in alcuni casi anche spazi inutili) Pura manipolazione testuale (no compilazione) Elementi di Informatica e Programmazione Università di Brescia 2
3 PRINCIPALI DIRETTIVE DEL PREPROCESSORE Definizione di macro semplici - identificatori che vengono trasformati in un testo definito Inclusione di file - molto utile nel caso di programmi strutturati su più file Compilazione condizionale - parti di programma C che possono essere compilate in modo condizionato (es: in alternativa) sulla base delle macro definite - non esaminate qui (per gli appassionati: vedi appendice) NB: le direttive possono essere poste ovunque nel file Elementi di Informatica e Programmazione Università di Brescia 3
4 Definizione di macro semplici #define identificatore testo-di-sostituzione Esempio #define ITERAZIONI 200 //numero di iterazioni void main(){ for(i=1; i<=iterazioni; i++){ } Vantaggi Modificabilità + Leggibilità Elementi di Informatica e Programmazione Università di Brescia 4
5 Inclusione di file Direttiva #include: #include <nomefile> #include nomefile Nella prima forma, il file viene ricercato in una directory predefinita Nella seconda, il file viene cercato prima nella directory corrente, poi nella directory predefinita NB: vediamo un utilizzo comune Elementi di Informatica e Programmazione Università di Brescia 5
6 PROGRAMMI SU PIU FILE Tipicamente i programmi di grandi dimensioni sono suddivisi in più file sorgente, p.es. - un file contenente funzioni per calcoli matematici - un file contenente il main che utilizza queste funzioni Il compilatore consente la compilazione separata di ciascun file sorgente, ottenendo un modulo oggetto I diversi moduli oggetto possono essere collegati mediante un programma detto linker Elementi di Informatica e Programmazione Università di Brescia 6
7 COMPILAZIONE SEPARATA programma sorgente matematica.c preprocessore + compilatore Modulo oggetto matematica.o programma sorgente main.c preprocessore + compilatore Modulo oggetto main.o I moduli oggetto contengono codice in linguaggio binario non direttamente eseguibile (cf. riferimenti esterni) + informazioni supplementari Elementi di Informatica e Programmazione Università di Brescia 7
8 Compilazione separata e chiamata di funzioni programma sorgente main.c preprocessore + compilatore Modulo oggetto main.o Affinchè possa essere chiamata una funzione, è necessario che nel file sia incluso il suo prototipo (poi la funzione può essere definita anche in un altro file!) - in questo modo il C può verificare che la funzione esiste, verificare la corrispondenza tra parametri attuali e formali, effettuare i controlli di tipo su parametri e risultato Elementi di Informatica e Programmazione Università di Brescia 8
9 IL LINKER modulo oggetto modulo oggetto modulo oggetto linker modulo eseguibile Il linker si occupa di ritrovare e collegare opportunamente i moduli oggetto producendo un unico modulo eseguibile pronto per il caricamento in memoria e l esecuzione Elementi di Informatica e Programmazione Università di Brescia 9
10 Problema: come gestire le funzioni nei diversi moduli sorgenti Ogni file contenente le chiamate a funzioni esterne (es. main.c) deve includere i prototipi delle funzioni chiamate! Scriverli in ogni file in cui le funzioni sono chiamate è dispendioso (oltre che fonte di errori!!!) int main(){ } y=radicequadrata(7); main.c float radicequadrata(float x){ } matematica.c Elementi di Informatica e Programmazione Università di Brescia 10
11 float radicequadrata(float); float logaritmo(float base, float n); matematica.h #include matematica.h int main(){ } y=radicequadrata(7); main.c #include matematica.h float radicequadrata(float x){ } matematica.c Elementi di Informatica e Programmazione Università di Brescia 11
12 Come fare concretamente (A LINEA DI COMANDO)? Produrre i file sorgente ed i file header (.h) nella stessa directory Per compilare i sorgenti producendo moduli oggetto: usare l opzione c del compilatore gcc c main.c gcc c matematica.c (produce main.o) (produce matematica.o) Per linkare i moduli oggetto producendo l eseguibile: usare gcc (che include il linker) nel modo seguente: gcc o prova main.o matematica.o (linka main.o e matematica.o producendo l eseguibile prova) Elementi di Informatica e Programmazione Università di Brescia 12
13 Come fare concretamente con DEVC++? 1. Includere nel progetto tutti i file.c che lo compongono - Menu File/New/Source File oppure Menu Project/Source File per creare un file vuoto all'interno del progetto - Menu Project/Add to Project per aggiungere al progetto un file già esistente (es. scaricato) Nota: i programmi nei file.c devono avere le direttive #include per includere i file.h con i prototipi delle funzioni che usano 2. Generare i file header.h e metterli nella directory di progetto (insieme ai file.c) 3. Il codice può essere compilato con Execute/Rebuild All ed eseguito con Execute/Run Elementi di Informatica e Programmazione Università di Brescia 13
14 LIBRERIE I file contenenti funzioni di uso comune possono essere utilizzati in diversi programmi: creazione di librerie (moduli già compilati disponibili a diversi programmi che includano gli header corrispondenti) Il C prevede anche una libreria standard che fornisce funzionalità comuni (es: input/output): ad essa corrispondono moduli in linguaggio binario in una directory predefinita Gran parte di questi moduli (che si trovano in una directory predefinita) viene collegata automaticamente dal linker Elementi di Informatica e Programmazione Università di Brescia 14
15 Moduli Libreria standard modulo oggetto linker modulo eseguibile modulo oggetto Elementi di Informatica e Programmazione Università di Brescia 15
16 Inclusione di file header per utilizzare la libreria standard #include<stdio.h> #include <stdlib.h> #include Mialibreria.h Inclusione intestazioni librerie standard Inclusione intestazioni librerie utente int main(int argc, char *argv[]){ system("pause"); // solo per Windows } NB: in DEVC++ è sufficiente includere gli header e non preoccuparsi di nulla: i moduli della libreria standard verranno linkati automaticamente Elementi di Informatica e Programmazione Università di Brescia 16
17 FILE DI INTESTAZIONE LIBRERIA STANDARD <assert.h> <ctype.h> <errno.h> <float.h> <limits.h> <locale.h> <math.h> Riferimenti: - CAP. 8, 9, 11 del testo - P.J. Plauger, The Standard C library Elementi di Informatica e Programmazione Università di Brescia 17 17
18 Matematica <math.h> /* Calcola la radice quadrata di x che dev essere non negativa*/ double sqrt (double x); /* Calcola il logaritmo naturale di x, che dev essere non negativo*/ double log(double x); /* Calcola il logaritmo in base 10 di x, che dev essere non negativo*/ double log10(double x); /* Calcola x elevato alla potenza y. Il valore di x dev essere non neg.*/ double pow(double x, double y); Elementi di Informatica e Programmazione Università di Brescia 18
19 Matematica <math.h> (2) /* Calcola il coseno di x (misurato in radianti)*/ double cos(double x); /* Calcola il seno di x (misurato in radianti)*/ double sin(double x); /* Suddivide valore in una parte intera e una frazionaria. Immagazzina la parte intera come double nell oggetto puntato da iptr. Restituisce la parte frazionaria*/ double modf(double valore, double *iptr); Elementi di Informatica e Programmazione Università di Brescia 19
20 NOTA PER CHI LAVORA A LINEA DI COMANDO Per utilizzare math.h, occorre indicare al compilatore di includere esplicitamente la libreria con l opzione -lm Esempio: compilazione di un unico file sorgente (include linker) gcc o prova prova.c -lm (prova.c contiene il main e "usa" math.h) Esempio: compilazione di due file in cui si "usa" math.h gcc c main.c gcc c matematica.c gcc o prova main.o matematica.o -lm Elementi di Informatica e Programmazione Università di Brescia 20
21 Limiti dell implementazione <limits.h> Definizione di MACRO mediante la direttiva #define CHAR_MAX CHAR_MIN // Valore massimo per oggetti di tipo char // Valore minimo per oggetti di tipo char INT_MAX INT_MIN // Valore massimo per oggetti di tipo int // Valore minimo per oggetti di tipo int Elementi di Informatica e Programmazione Università di Brescia 21
22 APPENDICE Elementi di Informatica e Programmazione Università di Brescia 22
23 Definizione di macro parametriche IMP: no spazio! Macro parametriche #define identificatore(x1, x2,,xn) testo-di-sostituzione Esempio #define PRINT_INT(n) printf( %d\n, n) void main(){ PRINT_INT(i*j); } Elementi di Informatica e Programmazione Università di Brescia 23
24 Compilazione condizionale (cenni) Esempio1 #define DEBUG 1 #if DEBUG printf( Valore di x = %d\n, x); #endif Esempio2a Esempio2b #define DEBUG #if defined(debug) printf( Valore di x = %d\n, x); #endif #define DEBUG #ifdef DEBUG printf( Valore di x = %d\n, x); #endif Elementi di Informatica e Programmazione Università di Brescia 24
25 Compilazione condizionale (cenni) Altre direttive #elif #else ha il significato di else if ha il significato di else Alcuni utilizzi della compilazione condizionale Debugging Scrivere programmi portabili su diverse macchine Scrivere programmi compilabili su compilatori diversi Elementi di Informatica e Programmazione Università di Brescia 25
Preprocessore, linker e libreria standard
Preprocessore, linker e libreria standard Università degli Studi di Brescia Prof. Massimiliano Giacomin Elementi di Informatica e Programmazione Università di Brescia 1 IL PREPROCESSORE Programma sorgente
DettagliUnità Didattica 1 Linguaggio C. Fondamenti. Struttura di un programma.
Unità Didattica 1 Linguaggio C Fondamenti. Struttura di un programma. 1 La storia del Linguaggio C UNIX (1969) - DEC PDP-7 Assembly Language BCPL - un OS facilmente accessibile che fornisce potenti strumenti
DettagliIntroduzione al C. Unità 10 Preprocessore. D. Bloisi, S. Peluso, A. Pennisi, S. Salza
Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR Introduzione al C Unità 10 Preprocessore D. Bloisi, S. Peluso, A. Pennisi, S. Salza Sommario Processo
DettagliIntroduzione al C. Unità 10 Preprocessore
Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR Introduzione al C Unità 10 Preprocessore D. Bloisi, A. Pennisi, S. Peluso, S. Salza Processo di compilazione
DettagliComplementi. - Ridefinizione di tipo - - Costrutto switch - - Programmazione su più file - - Parametri della funzione main - Funzione system -
Complementi - Ridefinizione di tipo - - Costrutto switch - - Programmazione su più file - - Parametri della funzione main - Funzione system - Università degli Studi di Brescia Prof. Massimiliano Giacomin
DettagliComplementi. - Ridefinizione di tipo - - Costrutto switch - - Programmazione su più file - - Parametri della funzione main - Funzione system -
Complementi - Ridefinizione di tipo - - Costrutto switch - - Programmazione su più file - - Parametri della funzione main - Funzione system - Università degli Studi di Brescia Prof. Massimiliano Giacomin
DettagliIntroduzione alla compilazione ed esecuzione di programmi C con IDE Dev-C++
Introduzione alla compilazione ed esecuzione di programmi C con IDE Dev-C++ Università degli Studi di Brescia Elementi di Informatica e Programmazione Università di Brescia 1 Sviluppo di un programma C
DettagliLezione 19: Il preprocessore
Lezione 19: Il preprocessore Vittorio Scarano Corso di Laurea in Informatica Università di Salerno Struttura della lezione Il debugger gdb Il preprocessore direttive #include e #define macro con parametri
DettagliIl sistema C è formato dal linguaggio C, dal preprocessore, dal compilatore, dalle librerie e da altri strumenti di supporto.
Sistema C e organizzazione del codice Il sistema C è formato dal linguaggio C, dal preprocessore, dal compilatore, dalle librerie e da altri strumenti di supporto. Un programma C è costituito da un insieme
DettagliCenni sul preprocessore e il suo utilizzo
Alessio Bechini - Corso di - Cenni sul preprocessore e il suo utilizzo Il preprocessore: cenni Il preprocessore Storicamente, i compilatori C operavano con passaggi multipli. Il primo passaggio eseguiva
DettagliIl linguaggio C. Il preprocessore...
Il linguaggio C Il preprocessore... C : un semplice programma Il più semplice programma C è costituito da una singola funzione (main) memorizzata in un singolo file C : un semplice programma (2) DIRETTIVE
DettagliPrimo passo: il preprocessor. Il preprocessore. Esempi di direttive al preprocessore: #include. Esempi di direttive al preprocessore: #define
Primo passo: il preprocessor Source code Preprocessor Pre-processed source code Compiler Libraries Linker Executable code 1 Il preprocessore Il preprocessore compie delle manipolazioni sul codice del programma.
DettagliSTRUTTURA DI UN PROGRAMMA
STRUTTURA DI UN PROGRAMMA File prova1.c #include ... int m; int f(int); int g(int x){ Area globale Direttive Dichiarazioni globali e prototipi di funzioni Definizioni di funzioni.../*ambiente
DettagliIl linguaggio C. Il preprocessore...
Il linguaggio C Il preprocessore... 1 Il preprocessore Viene invocato prima della compilazione vera e propria Esegue delle manipolazioni testuali sul file sostituisce nomi con testo elimina e inserisce
DettagliPrimi passi col linguaggio C
Andrea Marin Università Ca Foscari Venezia Laurea in Informatica Corso di Programmazione part-time a.a. 2011/2012 Come introdurre un linguaggio di programmazione? Obiettivi: Introduciamo una macchina astratta
Dettagliprova.c #include <stdio.h> char funzione(char); codice oggetto del main()
prova.c #include char funzione(char); {char c= a ; printf( Ecco il carattere: %c\n,c); c=funzione(c); printf( Ecco il carattere modificato: %c\n,c); char funzione(char tmp) {if(tmp
DettagliSTRUTTURA DI UN PROGRAMMA!
STRUTTURA DI UN PROGRAMMA! File prova1.c Area globale #include ... int m; int f(int); int g(int x){.../*ambiente locale a g*/} int main(){...} int f(int x){.../*ambiente locale a f*/} Direttive
DettagliLe direttive del Preprocessore
Le direttive del Preprocessore Prof. Orazio Mirabella Direttive Un compilatore traduce le istruzioni di un programma sorgente in linguaggio macchina Talvolta è conveniente prendere coscienza dell esistenza
DettagliPreprocessore. Unità 9. Corso di Laboratorio di Informatica Ingegneria Clinica BCLR. Domenico Daniele Bloisi Si ringrazia Raffaele Nicolussi
Corso di Laboratorio di Informatica Ingegneria Clinica BCLR Domenico Daniele Bloisi Si ringrazia Raffaele Nicolussi Docente Ing. Domenico Daniele Bloisi, PhD Ricercatore Dipartimento di Ingegneria Informatica,
DettagliStruttura di un. Struttura dei programmi C
Parte 4 Struttura di un Programma Struttura dei programmi C Un programma C deve essere contenuto in uno o più file (salvo diversa specifica, per ora si assume in un file): 1. Una parte contenente direttive
DettagliEsercitazione. Uso di funzioni e librerie di funzioni
Esercitazione Uso di funzioni e librerie di funzioni Prof. Paolo Mancarella Informatica I Corso di Laurea in Fisica A.A. 2007/2008 1 Uso di funzioni e librerie di funzioni Funzioni 1.1 Funzioni Il meccanismo
DettagliCompilazione separata. Come realizzare correttamente un piccolo progetto su piu' file
Compilazione separata Come realizzare correttamente un piccolo progetto su piu' file 1 Programmi C su più file Tutti i programmi che abbiamo visto finora erano composti da un unico file.c Nel caso di programmi
DettagliCompilazione separata. Come realizzare correttamente un piccolo progetto su piu' file
Compilazione separata Come realizzare correttamente un piccolo progetto su piu' file 1 Programmi C su più file Tutti i programmi che abbiamo visto finora erano composti da un unico file.c Nel caso di programmi
DettagliPROGETTI SU PIU` FILE
PROGETTI SU PIU` FILE Un applicazione complessa non può essere fatta in un unico file.c: sarebbe ingestibile Meglio dividerla in vari moduli, che si occupano di aspetti diversi Ordinamento Interfaccia
DettagliProgetti su più File Sorgenti
Progetti su più File Sorgenti Sono considerate applicazioni di piccola dimensione, applicazioni con qualche migliaio di linee di codice Un applicazione anche di piccola dimensione non può essere sviluppata
DettagliEsempio. Le istruzioni corrispondono a quelle di sopra, ma sono scritte in modo simbolico. E indipendente dalla machina
Il compilatore C Astrazione Linguaggio macchina implica la conoscenza dei metodi usati per la rappresentazione dell informazioni nella CPU Linguaggio Assembly è il linguaggio delle istruzioni che possono
Dettaglideve conoscerne solo l interfaccia:
Progetti su più File Sorgenti Sono considerate applicazioni i i di piccola dimensione, applicazioni con qualche migliaio di linee di codice Un applicazione anche di piccola dimensione non può essere sviluppata
DettagliProgrammazione I - Laboratorio
Programmazione I - Laboratorio Introduzione alle lezioni in laboratorio Gianluca Mezzetti 1 Paolo Milazzo 2 1. Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ mezzetti mezzetti
DettagliLinguaggio C: Introduzione ad ambienti di sviluppo integrati (IDE) e a Dev-C++ Università degli Studi di Brescia
Linguaggio C: Introduzione ad ambienti di sviluppo integrati (IDE) e a Dev-C++ Università degli Studi di Brescia Elementi di Informatica e Programmazione Università di Brescia 1 Sviluppo ed esecuzione
DettagliLinguaggi Compilati vs. Interpretati
INTRODUZIONE ED ESEMPI Ing. Giuseppe Cirillo g.cirillo@unina.it Linguaggi Compilati vs. Interpretati Es. C, C++ compilatore compilatore compilatore Performance / Custom Portabilità Es. Java Interprete
DettagliIL PREPROCESSORE LORENZO BRACCIALE
IL PREPROCESSORE LORENZO BRACCIALE LORENZO.BRACCIALE@UNIROMA2.IT RUOLO DEL PREPROCESSORE Il preprocessore C elabora un programma C prima che sia compilato Funzioni di base: definizione di costanti simboliche
DettagliSunto della scorsa lezione Il linguaggio C. Un Programma con Errori. Il preprocessore. Linguaggi di Programmazione I.
Sunto della scorsa lezione 06-10-2003 Il linguaggio C Matricole 2-3 Un programma C è un insieme di funzioni. La funzione è sempre presente Una funzione è un insieme di istruzioni racchiuse tra ogni istruzione
DettagliIl linguaggio C. Notate che...
Il linguaggio C Notate che... 1 Il C è un linguaggio a blocchi int main (void) { blocco } 2 Il C è un linguaggio a blocchi (2) Non è possibile mischiare dichiarazioni e comandi! int main (void) { } Dichiarazione
DettagliLinguaggio di Riferimento: C
Programmazione procedurale Linguaggio di Riferimento: C 1 Linguaggio macchina Il linguaggio macchina costituisce la forma espressiva atta a descrivere programmi e ad essere direttamente interpretata dall
DettagliPerché il linguaggio C?
Il linguaggio C 7 Perché il linguaggio C? Larga diffusione nel software applicativo Standard di fatto per lo sviluppo di software di sistema Visione a basso livello della memoria Capacità di manipolare
DettagliCompilazione e Makefile
Compilazione e Makefile Indice Il preprocessore Le istruzioni per il preprocessore Le MACRO L ambiente linux: alcuni comandi Editor ed il compilatore gcc I makefile Il comando make I flag Il preprocessore
DettagliIl preprocessore. Direttiva define Direttiva include Direttiva if
Il preprocessore Direttiva define Direttiva include Direttiva if Il preprocessore Il preprocessore è un processore di testi che elabora il contenuto di un file sorgente prima della compilazione vera e
DettagliIl processo di compilazione. dalle note del prof. Oliver Fringer
Il processo di compilazione dalle note del prof. Oliver Fringer 57 Compilatore C 1/2 Impariamo come compilare ed eseguire un semplice programma C. 58 Compilatore C 2/2 Usiamo il compilatore gcc in Linux,
DettagliFunzionalità. Il preprocessore C. Inclusione di file. Inclusione di file
Il preprocessore C Ver. 2.4 Funzionalità Modifica il codice C prima che venga eseguita la traduzione vera a propria Le direttive al preprocessore riguardano: inclusione di file (#include) definizione di
DettagliIntroduzione al linguaggio C Primi programmi
Introduzione al linguaggio C Primi programmi Violetta Lonati Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica
DettagliTUTORATO di LINGUAGGI I
TUTORATO di LINGUAGGI I Enrico Vianello TUTORATO di LINGUAGGI I contatti utili LE LEZIONI SI TERRANNO: VENERDI 12.30-14.30 PER INFORMAZIONI e DOMANDE: enrico.vianello@student.unife.it IL MATERIALE UTILIZZATO
Dettaglif2.obj compilatore compilatore linker f3.obj compilatore
...quando il gioco si fa duro Sono considerate applicazioni i i di piccola dimensione, applicazioni con qualche migliaio di linee di codice Un applicazione anche di piccola dimensione non può essere sviluppata
DettagliDati due punti sul piano calcolare la loro distanza
Introduzione al C Primo esempio in C Dati due punti sul piano calcolare la loro distanza Soluzione: la distanza fra due punti si calcola secondo il teorema di Pitagora, con la formula: y Distanza = (lato12
DettagliCompilazione e Makefile
Compilazione e Makefile Indice Il preprocessore Le istruzioni per il preprocessore Le MACRO L ambiente linux: alcuni comandi Editor ed il compilatore g++ I makefile Il comando make I flag Il preprocessore
DettagliPerché il linguaggio C?
Il linguaggio C 7 Perché il linguaggio C? Larga diffusione nel software applicativo Standard di fatto per lo sviluppo di software di sistema Visione a basso livello della memoria Capacità di manipolare
DettagliLinguaggio C: Variabili e assegnamento e semplici comandi di I/O
Linguaggio C: Variabili e assegnamento e semplici comandi di I/O Università degli Studi di Brescia Prof. Massimiliano Giacomin Elementi di Informatica e Programmazione Università di Brescia 1 Un programma
DettagliLinea di comando. Compilazione. Aprire una shell di DOS tramite:
Linea di comando Aprire una shell di DOS tramite: Start MS VisualStudio 2005 Visual Studio Tools E una normale shell di DOS con aggiunte al path ed alle variabili d ambiented Digitare cl /? per vedere
Dettagli#include <stdio.h> main() { - 1 -
Un primo esempio di programma Ogni programma C deve contenere una funzione speciale chiamata main che indica il punto in cui inizia l esecuzione del programma. La funzione main è unica all interno di ogni
DettagliIl linguaggio C. Notate che...
Il linguaggio C Notate che... 1 Il C è un linguaggio a blocchi int main (void) { blocco } 2 Il C è un linguaggio a blocchi (2) Non è possibile mischiare dichiarazioni e comandi! int main (void) { } Dichiarazione
DettagliLaboratorio di Programmazione 1. Docente: dr. Damiano Macedonio Lezione 4 24/10/2013
Laboratorio di Programmazione 1 1 Docente: dr. Damiano Macedonio Lezione 4 24/10/2013 Original work Copyright Sara Migliorini, University of Verona Modifications Copyright Damiano Macedonio, University
DettagliIntroduzione al linguaggio C
Linguaggio C Introduzione al linguaggio C Sistemi di sviluppo integrati Noti anche come IDE: Integrated Development Environment Un pacchetto software che permette di scrivere, preprocessare, compilare,
DettagliLa direttiva #include
La direttiva #include La definizione di una funzione-utente comporta alcuni passaggi: scelta e indicazione del prototipo della funzione implementazione della funzione Le funzioni della libreria standard
DettagliIntroduzione a Visual Studio 2005
Fondamenti di Informatica e Laboratorio T-AB Ingengeria dell Automazione a.a. 2008/2009 Introduzione a Visual Studio 2005 Outline Solutions e Projects Visual Studio e il linguaggio C Visual Studio Schermata
DettagliFunzioni. Unità 1. Domenico Daniele Bloisi. Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR
Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR Domenico Daniele Bloisi Docenti Parte I prof. Silvio Salza salza@dis.uniroma1.it http://www.dis.uniroma1.it/~salza/fondamenti.htm
DettagliStruttura dei programmi e Variabili
Linguaggio C Struttura dei programmi e Variabili 1 La struttura generale dei programmi! Struttura del programma: Direttive Funzioni Dichiarazioni Istruzioni Di assegnamento direttive Di ingresso e uscita
DettagliIndice generale. Prefazione...xv. Introduzione al linguaggio C...1. Capitolo 2 Variabili, costanti, letterali e tipi...31
Indice generale Prefazione...xv Organizzazione del libro...xvi Struttura del libro e convenzioni...xvii Codice sorgente e progetti...xviii Compilare ed eseguire direttamente i listati e gli snippet di
DettagliIL PREPROCESSORE LORENZO BRACCIALE
IL PREPROCESSORE LORENZO BRACCIALE LORENZO.BRACCIALE@UNIROMA2.IT RUOLO DEL PREPROCESSORE Il preprocessore C elabora un programma C prima che sia compilato Funzioni di base: definizione di costanti simboliche
DettagliLinguaggi di alto livello, compilatori e interpreti
Linguaggi di alto livello, compilatori e interpreti Percorso di Preparazione agli Studi di Ingegneria Università degli Studi di Brescia Docente: Massimiliano Giacomin Il punto della situazione STATO DATI
DettagliMS Visual Studio: Linea di Comando
MS Visual Studio: Linea di Comando Aprire una shell di DOS tramite: Start MS VisualStudio 2010 Visual Studio Tools è una normale shell di DOS con aggiunte al path ed alle variabili d ambiente Digitare
DettagliEsiste però anche un ambiente globale: quello dove tutte le funzioni sono definite. Qui si possono anche definire variabili, dette variabili globali
AMBIENTE LOCALE E GLOBALE In C, ogni funzione ha il suo ambiente locale che comprende i parametri e le variabili definite localmente alla funzione Esiste però anche un ambiente globale: quello dove tutte
DettagliEsiste però anche un ambiente globale: quello dove tutte le funzioni sono definite. Qui si possono anche definire variabili, dette variabili globali
AMBIENTE LOCALE E GLOBALE In C, ogni funzione ha il suo ambiente locale che comprende i parametri e le variabili definite localmente alla funzione Esiste però anche un ambiente globale: quello dove tutte
DettagliPrimi programmi in C
Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica In breve Uso del compilatore gcc Struttura di un programma
DettagliProgrammazione di base
Fondamenti di Informatica Primo Appello 01-17 8 febbraio 017 Rispondi alle domande negli appositi spazi. I punti assegnati per ogni domanda sono indicati nel riquadro a lato. L'esame contiene 10 domande,
DettagliLinguaggio C. Appunti per il corso di Laboratorio di Algoritmi e Strutture Dati. Stefano Aguzzoli
Linguaggio C Appunti per il corso di Laboratorio di Algoritmi e Strutture Dati Stefano Aguzzoli Alcune note introduttive Orario lezioni: Lunedì: 11:40 13:10, Giovedì: 10:40-11:25 sempre in Aula V3, Via
DettagliCompilazione separata
Compilazione separata 1 Compilazione separata Finora abbiamo trattato solo programmi C contenuti in un unico file define/include typedef variabili globali prototipi F1..FN main def F1 def FN Struttura
DettagliI/O da tastiera e direttive processore. Alessandra Giordani Lunedì 3 maggio
I/O da tastiera e direttive processore Alessandra Giordani agiordani@disi.unitn.it Lunedì 3 maggio 2010 http://disi.unitn.it/~agiordani/ Ripasso funzione printf() Usata per stampare il contenuto di una
DettagliIntroduzione alla programmazione in linguaggio C
Introduzione alla programmazione in linguaggio C Il primo programma in C commento Header della libreria Funzione principale Ogni istruzione in C va terminata con un ; Corso di Informatica AA. 2007-2008
DettagliBreve Riepilogo del Linguaggio C
Breve Riepilogo del Linguaggio C Note Gli script shell cominciano sempre con la seguente riga: #!/bin/sh NON esistono spazi all'interno della stringa #!/bin/sh NON ci sono altri caratteri (oltre il newline)
DettagliNuovi tipi di dato e. Alessandra Giordani Lunedì 26 marzo
Nuovi tipi di dato e costrutto condizionale Alessandra Giordani agiordani@disi.unitn.it Lunedì 26 marzo 2012 http://disi.unitn.it/~agiordani/ Tipi di dato fondamentali int e il tipo di dato che consente
DettagliIstituto Tecnico Industriale M. M. Milano Polistena. Classe III D a.s. 2015/2016 C++ Guida Base
Istituto Tecnico Industriale M. M. Milano Polistena Classe III D a.s. 2015/2016 C++ Guida Base Prof. Rocco Ciurleo - ITIS M. M. Milano Polistena - 3 D a.s. 2015/2016 1 Le Origini Il Linguaggio C++ è il
DettagliPreprocessing, compilazione ed esecuzione. Utilizzando strumenti GNU...
Preprocessing, compilazione ed esecuzione Utilizzando strumenti GNU... 1 Spazio di indirizzamento Come vede la memoria un programma C in esecuzione 2 32-1 0 Stack Area vuota Heap Data Text Pila di FRAME,
DettagliLezione 5: Introduzione alla programmazione in C
Lezione 5: Introduzione alla programmazione in C Laboratorio di Elementi di Architettura e Sistemi Operativi 4 Aprile 2012 Introduzione al C C vs. Java Java: linguaggio ad oggetti C: linguaggio procedurale
DettagliUniversità degli Studi di Ferrara
Università degli Studi di Ferrara Corso di Laurea in Matematica - A.A. 2017-2018 Programmazione Lezione 4 il Linguaggio C Docente: Michele Ferrari - michele.ferrari@unife.it Nelle lezioni precedenti Problemi
DettagliLinguaggi di alto livello, compilatori e interpreti
Linguaggi di alto livello, compilatori e interpreti Ingegneria Meccanica e dei Materiali Università degli Studi di Brescia Prof. Massimiliano Giacomin Limiti del linguaggio assembler Esempio: gestione
DettagliUnix e comandi di base
Fondamenti di Informatica e Laboratorio T-AB Ingegneria Elettronica e Telecomunicazioni Unix e comandi di base Lab19 1 Unix - Shell dei comandi Es. 1 Utilizzando il comando ls Elencare a video il contenuto
DettagliInformazioni Utili. Fondamenti di Informatica L-B (L-Z) Esercitazioni. A.A. 2005/06 Tutor: Loris Cancellieri
Fondamenti di Informatica L-B (L-Z) Esercitazioni A.A. 2005/06 Tutor: Loris Cancellieri loris.cancellieri@studio.unibo.it Informazioni Utili Orario delle Esercitazioni Lunedì 14-16 Gruppo L Q Martedì 16-18
DettagliInformazioni Utili. Strumenti Utilizzati. Creazione e gestione di un progetto. Fondamenti di Informatica L-B (L-Z) Esercitazioni
Informazioni Utili Fondamenti di Informatica L-B (L-Z) Esercitazioni A.A. 2005/06 Tutor: Loris Cancellieri loris.cancellieri@studio.unibo.it Orario delle Esercitazioni Lunedì 14-16 Gruppo L Q Martedì 16-18
DettagliLezione 6 Introduzione al C++ Mauro Piccolo
Lezione 6 Introduzione al C++ Mauro Piccolo piccolo@di.unito.it Linguaggi di programmazione Un linguaggio formale disegnato per descrivere la computazione Linguaggi ad alto livello C, C++, Pascal, Java,
DettagliCorso di programmazione in C
Corso di programmazione in C Lezione 2: fondamenti del linguaggio C Liceo Scientico Teresa Gullace M. Prisco 5 marzo 2019 Liceo Scientico Teresa Gullace Corso di programmazione in C 5 marzo 2019 1 / 17
DettagliLinguaggi di programmazione
Lezione 1 e 2 Fabio Scotti Laboratorio di programmazione per la sicurezza 1 Lezione 1 e 2 Fabio Scotti Laboratorio di programmazione per la sicurezza Introduzione al linguaggio C e significato della compilazione
DettagliESECUZIONE DI PROGRAMMI C SU MACCHINE REALI. Docente: Giorgio Giacinto AA 2008/2009. formalizzazione degli algoritmi in linguaggio C
Università degli Studi di Cagliari Corso di Laurea Specialistica in Ingegneria per l Ambiente ed il Territorio Corso di Laurea Specialistica in Ingegneria Civile - Strutture FONDAMENTI DI INFORMATICA 2
DettagliLa Programmazione. Cos è la programmazione? Concetti preliminari
La Programmazione Cos è la programmazione? Concetti preliminari 1 Sommario La programmazione, questa sconosciuta Programmiamo Macchine Astratte Linguaggi di basso e alto livello e loro implementazione
DettagliPER UTILIZZARE LCC IN LAB
PER UTILIZZARE LCC IN LAB La prima volta che un utente utilizza lcc-win32 deve impostare una chiave nel registro utente. Per fare questo occorre semplicemente: Aprire con il gestione risorse la cartella
DettagliLaboratorio reti AA 2008/2009. Dott. Matteo Roffilli Ricevimento in ufficio dopo la lezione
Laboratorio reti AA 2008/2009 Dott. Matteo Roffilli roffilli@csr.unibo.it Ricevimento in ufficio dopo la lezione 1 Laboratorio reti AA 2008/2009 Per esercitarvi fate SSH su: alfa.csr.unibo.it si-tux00.csr.unibo.it.
DettagliProgrammazione strutturata
Programmazione strutturata Il teorema di Jacopini Bohn afferma che qualunque algoritmo può essere descritto utilizzando esclusivamente tre strutture fondamentali ( dette anche strutture di controllo):
DettagliTitolo presentazione
Titolo presentazione Programmazione C: Esercizi su stringhe, funzionisottotitolo di libreria e matrici Milano, XX mese 20XX Informatica ed Elementi di Informatica Medica Agenda Argomenti e valore di ritorno
DettagliIntroduzione a Dev-C++ Università degli Studi di Brescia Sergio Colosio
Introduzione a Dev-C++ Università degli Studi di Brescia Sergio Colosio Installazione di Dev-C++ ü Scaricare il programma di installazione (vedi sito web, sezione Esercitazioni) ed eseguirlo, selezionare
DettagliLinguaggio C. Generalità sulle Funzioni. Variabili locali e globali. Passaggio di parametri per valore.
Linguaggio C Generalità sulle Funzioni. Variabili locali e globali. Passaggio di parametri per valore. 1 Funzioni Generalizzazione del concetto di funzione algebrica: legge che associa a valori delle variabili
DettagliIntroduzione alla programmazione A. Ferrari
Introduzione alla programmazione A. Ferrari Il linguaggio C Nel 1972 Dennis Ritchie nei Bell Laboratories progettò il linguaggio C Il linguaggio possiede tutti i costrutti di controllo dei linguaggi ad
DettagliLezione 21 e 22. Valentina Ciriani ( ) Laboratorio di programmazione. Laboratorio di programmazione. Lezione 21 e 22
Lezione 21 e 22 - Allocazione dinamica delle matrici - Generazione di numeri pseudocasuali - Funzioni per misurare il tempo - Parametri del main - Classificazione delle variabili Valentina Ciriani (2005-2008)
DettagliLinguaggi di Programmazione
Linguaggi di Programmazione 1 C-Introduzione.tex: Versione 1.0, aa 2005-2006 Linguaggi di programmazione (1) Sono linguaggi che permettono la codifica di algoritmi in modo da renderli eseguibili, direttamente
DettagliFunzioni, Stack e Visibilità delle Variabili in C
Funzioni, Stack e Visibilità delle Variabili in C Programmazione I e Laboratorio Corso di Laurea in Informatica A.A. 2016/2017 Calendario delle lezioni Lez. 1 Lez. 2 Lez. 3 Lez. 4 Lez. 5 Lez. 6 Lez. 7
Dettagli