informatica:sol:laboratorio21:esercitazionib:esercitazione3
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:laboratorio21:esercitazionib:esercitazione3 [01/03/2021 alle 09:16 (4 anni fa)] – [Esercizio 2: libtokenizer.so] Massimo Torquati | informatica: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' | + | Come nell' |
- | Verificarne il corretto caricamento in memoria della libreria spostando il file ' | + | Verificarne il corretto caricamento in memoria della libreria spostando il file ' |
===== Esercizio 3: macro ===== | ===== Esercizio 3: macro ===== | ||
Linea 17: | Linea 17: | ||
int main() { | int main() { | ||
long *M = malloc(dimN*dimM*sizeof(long)); | long *M = malloc(dimN*dimM*sizeof(long)); | ||
- | | + | |
for(size_t i=0; | for(size_t i=0; | ||
for(size_t j=0; | for(size_t j=0; | ||
Linea 23: | Linea 23: | ||
| | ||
PRINTMAT(M, dimN, dimM); | PRINTMAT(M, dimN, dimM); | ||
+ | free(M); | ||
return 0; | return 0; | ||
} | } | ||
</ | </ | ||
- | scrivere le 3 macros '' | + | scrivere le 3 macros '' |
- | 'CHECK_PTR' prende due argomenti, un puntatore ed una stringa. La macro controlla che il primo argomento sia ' | + | 'CHECK_PTR_EXIT' prende due argomenti, un puntatore ed una stringa. La macro controlla che il primo argomento sia diverso da ' |
- | ' | + | ' |
Esempio di output richiesto: | Esempio di output richiesto: | ||
Linea 49: | Linea 50: | ||
Valutare se la funzione somma così come definita è rientrante ed eventualmente fornire una versione rientrante ' | Valutare se la funzione somma così come definita è rientrante ed eventualmente fornire una versione rientrante ' | ||
+ | |||
+ | ===== Esercizio 5 ===== | ||
+ | Considerare il seguente programma C (prog.c): | ||
+ | < | ||
+ | int main(int argc, char *argv[]) { | ||
+ | int opt; | ||
+ | while ((opt = getopt(argc, | ||
+ | switch(opt) { | ||
+ | case ' | ||
+ | case ' | ||
+ | case ' | ||
+ | case ':': | ||
+ | case '?': | ||
+ | default:; | ||
+ | } | ||
+ | } | ||
+ | return 0; | ||
+ | } | ||
+ | </ | ||
+ | Modificare il contenuto del file prog.c **senza aggiungere alcun #include file** e **senza modificare la funzione ' | ||
+ | gcc -Wall -ansi -pedantic prog.c -o prog | ||
+ |
informatica/sol/laboratorio21/esercitazionib/esercitazione3.1614590162.txt.gz · Ultima modifica: 01/03/2021 alle 09:16 (4 anni fa) da Massimo Torquati