informatica:sol:laboratorio16:esercitazionia:esercitazione2
Differenze
Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.
Entrambe le parti precedenti la revisioneRevisione precedenteProssima revisione | Revisione precedente | ||
informatica:sol:laboratorio16:esercitazionia:esercitazione2 [01/03/2016 alle 05:46 (9 anni fa)] – Massimo Torquati | informatica:sol:laboratorio16:esercitazionia:esercitazione2 [02/03/2016 alle 20:45 (9 anni fa)] (versione attuale) – Massimo Torquati | ||
---|---|---|---|
Linea 1: | Linea 1: | ||
====== Esercitazione 2 ====== | ====== Esercitazione 2 ====== | ||
- | Stringhe e libreria standard di IO, creazione di librerie statiche. | + | Stringhe e libreria standard di IO, creazione di librerie statiche, uso di '' |
- | Cercare di completare tutti gli esercizi durante le ore di laboratorio e nel caso come homework.\\ | ||
===== Esercizio 1: tokenizer ===== | ===== Esercizio 1: tokenizer ===== | ||
- | Scrivere un programma che data una stringa come argomento, stampa a video (' | + | Scrivere un programma che data una stringa come argomento, stampa a video ('' |
< | < | ||
void tokenizer(char *stringa, FILE *out); | void tokenizer(char *stringa, FILE *out); | ||
Linea 22: | Linea 21: | ||
===== Esercizio 2: tokenizer_r ===== | ===== Esercizio 2: tokenizer_r ===== | ||
- | Scrivere una seconda versione del programma precedente che implementa la funzione ' | + | Scrivere una seconda versione del programma precedente che implementa la funzione ' |
- | NOTA: se si utilizza l' | + | NOTA: se si utilizza l' |
===== Esercizio 3: tokenizer_rfile ===== | ===== Esercizio 3: tokenizer_rfile ===== | ||
Linea 32: | Linea 31: | ||
===== Esercizio 4: valgrind ===== | ===== Esercizio 4: valgrind ===== | ||
- | Verificare la correttezza degli accessi in memoria utilizzando ' | + | Verificare la correttezza degli accessi in memoria utilizzando |
+ | Valgrind permette, fra l' | ||
+ | |||
+ | Passi: | ||
+ | * compilare il file da verificare con opzione '' | ||
+ | * eseguire il programma con '' | ||
+ | < | ||
+ | bash$ valgrind ./prova | ||
+ | </ | ||
+ | in questo modo, a schermo verranno riportare le infrazioni rilevate. Ad esempio, //invalid read// o //invalid write// sono accessi in lettura o scrittura a memoria non allocata o gia' deallocata. | ||
+ | |||
+ | Se si specifica l' | ||
===== Esercizio 5: libtokenizer.a ===== | ===== Esercizio 5: libtokenizer.a ===== |
informatica/sol/laboratorio16/esercitazionia/esercitazione2.1456811176.txt.gz · Ultima modifica: 01/03/2016 alle 05:46 (9 anni fa) da Massimo Torquati