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 (5 anni fa)] – [Esercizio 2: libtokenizer.so] Massimo Torquati | informatica:sol:laboratorio21:esercitazionib:esercitazione3 [04/03/2021 alle 15:06 (5 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 (5 anni fa) da Massimo Torquati
