Strumenti Utente

Strumenti Sito


informatica:sol:laboratorio21:esercitazionib:esercitazione3

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:esercitazione3 [01/03/2021 alle 09:21 (4 anni fa)] – [Esercizio 3: macro] Massimo Torquatiinformatica:sol:laboratorio21:esercitazionib:esercitazione3 [04/03/2021 alle 15:06 (4 anni fa)] (versione attuale) – [Esercizio 5] Alessio Conte
Linea 7: Linea 7:
 ===== Esercizio 2: libtokenizer.so ===== ===== Esercizio 2: libtokenizer.so =====
  
-Come nell'Esercizio 1 però invece che una libreria statica creare una libreria dinamica ('libtokenizer.so'). +Come nell'Esercizio 1 però invece che una libreria statica creare una libreria condivisa ('libtokenizer.so'). 
-Verificarne il corretto caricamento in memoria della libreria spostando il file 'libtokenizer.so' in una directory differente da quella corrente (es. ~/mylibdir). Provare ad usare sia l'opzione del linker ''-Wl, rpath,'' che la variabile d'ambiente per il dynamic linker/loader ''LD_LIBRARY_PATH''.+Verificarne il corretto caricamento in memoria della libreria spostando il file 'libtokenizer.so' in una directory differente da quella corrente (es. ~/mylibdir). Provare ad usare sia l'opzione del linker ''-Wl, -rpath,'' che la variabile d'ambiente per il dynamic linker/loader ''LD_LIBRARY_PATH''.
  
 ===== Esercizio 3: macro ===== ===== Esercizio 3: macro =====
Linea 23: Linea 23:
          
     PRINTMAT(M, dimN, dimM);     PRINTMAT(M, dimN, dimM);
 +    free(M);
     return 0;     return 0;
 } }
Linea 49: Linea 50:
  
 Valutare se la funzione somma così come definita è rientrante ed eventualmente fornire una versione rientrante 'somma_r'. Valutare se la funzione somma così come definita è rientrante ed eventualmente fornire una versione rientrante 'somma_r'.
 +
 +===== Esercizio 5 =====
 +Considerare il seguente programma C (prog.c):
 +<code>
 +int main(int argc, char *argv[]) {
 +  int opt;
 +  while ((opt = getopt(argc,argv, ":n:m:h")) != -1) {
 +    switch(opt) {
 +    case 'n':
 +    case 'm':printf("l'argomento di '-%c' e' '%s'\n",opt,optarg); break;
 +    case 'h':printf("'-h' non ha argomenti\n"); break;
 +    case ':':printf("'-%c' richiede un argomento\n", optopt); break;
 +    case '?':printf("'-%c' non e' riconosciuta\n", optopt);
 +    default:;
 +    }
 +  }  
 +  return 0;
 +}
 +</code>
 +Modificare il contenuto del file prog.c **senza aggiungere alcun #include file** e **senza modificare la funzione 'main'**, in modo che il programma possa essere compilato col comando seguente:\\
 +     gcc -Wall -ansi -pedantic prog.c -o prog
 +
informatica/sol/laboratorio21/esercitazionib/esercitazione3.1614590460.txt.gz · Ultima modifica: 01/03/2021 alle 09:21 (4 anni fa) da Massimo Torquati

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki