Strumenti Utente

Strumenti Sito


informatica:sol:laboratorio21:esercitazionib:esercitazione2

Differenze

Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.

Link a questa pagina di confronto

Entrambe le parti precedenti la revisioneRevisione precedente
Prossima revisione
Revisione precedente
informatica:sol:laboratorio21:esercitazionib:esercitazione2 [24/02/2021 alle 08:17 (4 anni fa)] – [Esercizio 3: funzioni rientranti] Massimo Torquatiinformatica:sol:laboratorio21:esercitazionib:esercitazione2 [25/02/2021 alle 15:25 (4 anni fa)] (versione attuale) Massimo Torquati
Linea 12: Linea 12:
 ===== Esercizio 2: puntatori a funzioni ===== ===== Esercizio 2: puntatori a funzioni =====
  
-Estendere l'esercizio 1 associando ad ogni opzione del main una funzione che ne faccia la gestione e la stampa sullo standard output. Ad esempio, la gestione dell'opzione '-n' viene fatta dalla funzione 'arg_n(const char*)' la quale convertirà l'argomento associato all'opzione ad intero e farà la stampa sullo standard output. +Estendere l'esercizio 1 associando ad ogni opzione del main una funzione che ne faccia la gestione e la stampa sullo standard output. Ad esempio, la gestione dell'opzione '-n' viene fatta dalla funzione 'arg_n(const char*)' la quale convertirà l'argomento associato all'opzione ad intero e farà la stampa sullo standard output, ritornado -1 in caso di errore e 0 in caso di successo 
 Memorizzare tali funzioni in un vettore con nome 'V'. Utilizzare completando il seguente frammento di codice main. Memorizzare tali funzioni in un vettore con nome 'V'. Utilizzare completando il seguente frammento di codice main.
  
Linea 20: Linea 20:
   ...  // controllo di argc ed inizializzazione del vettore V con i puntatori a funzione   ...  // controllo di argc ed inizializzazione del vettore V con i puntatori a funzione
    
 +  int opt;
   while ((opt = getopt(argc,argv, "n:m:o:h")) != -1) {   while ((opt = getopt(argc,argv, "n:m:o:h")) != -1) {
     switch(opt) {     switch(opt) {
Linea 87: Linea 88:
 </code> </code>
  
-===== Esercizio 4: valgrind =====+===== Esercizio 5: valgrind =====
  
-Verificare la correttezza degli accessi in memoria utilizzando ''valgrind'' dei programmi realizzati nell'esercizio 1 e 2. Verificare che non ci siano "memory leaks" all'uscita del programma.+Verificare la correttezza degli accessi in memoria utilizzando ''valgrind'' dei programmi realizzati nell'esercizi precedenti. Verificare che non ci siano "memory leaks" all'uscita del programma.
  
 Valgrind permette, fra l'altro, di capire se le variabili sono inizializzate prima del loro uso, se accediamo a memoria gia' deallocata o mai allocata o a zone non inizializzate.  Valgrind permette, fra l'altro, di capire se le variabili sono inizializzate prima del loro uso, se accediamo a memoria gia' deallocata o mai allocata o a zone non inizializzate. 
informatica/sol/laboratorio21/esercitazionib/esercitazione2.1614154633.txt.gz · Ultima modifica: 24/02/2021 alle 08:17 (4 anni fa) da Massimo Torquati

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki