Strumenti Utente

Strumenti Sito


informatica:sol:laboratorio:faq

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:laboratorio:faq [13/03/2010 alle 10:39 (15 anni fa)] Susanna Pelagattiinformatica:sol:laboratorio:faq [14/10/2010 alle 09:56 (15 anni fa)] (versione attuale) Susanna Pelagatti
Linea 3: Linea 3:
  
  
 +
 +===== E' possibile accedere al numero di linea in C ? =====
 +Si, e' possibile utilizzando la macro 
 +<code>
 +__LINE__
 +</code>
 +
 +
 +===== FRAM3: e' possibile modificare i file .h del primo frammento ? =====
 +Si, e' possibile aggiungere campi alle strutture e prototipi nei file .h del primo frammento estendendo la libreria a patto che continuino a funzionare i test del primo frammento.
 +
 +===== FRAM2: e' possibile creare file temporanei ? =====
 +Si, a patto che i file vengano creati in una directory adeguata (esempio ''/tmp''), senza sovrascrivere file esistenti e rimossi a fine script (suggerimento: provate ''man mktemp'')
 +
 +
 +===== FRAM3: errore nella specifica in ''comsock.h'' =====
 +Nella specifica della funzione openConnection nel file comsock.h e' richiesto che la funzione ritorni 0 se la connessione ha avuto successo. Questo e' ovviamente sbagliato perche' in caso di successo deve tornare il file descriptor della socket connessa. La specifica corretta e' la seguente:
 +<code c>
 +/** crea una connessione all socket del server. In caso di errore funzione tenta NTRIALCONN volte la connessione (a distanza di 1 secondo l'una dall'altra) prima di ritornare errore.
 +   \param  path  nome del socket su cui il server accetta le connessioni
 +   
 +   \return fd il file descriptor della connessione
 +             se la connessione ha successo
 +   \retval SNAMETOOLONG se il nome del socket eccede UNIX_PATH_MAX
 +   \retval -1 negli altri casi di errore (sets errno)
 + *
 +  in caso di errore ripristina la situazione inziale: rimuove eventuali socket create e chiude eventuali file descriptor rimasti aperti
 + */
 +int openConnection(char* path);
 +</code>
  
 ===== FRAM1: Come deve essere inizializzata la hash table ? ===== ===== FRAM1: Come deve essere inizializzata la hash table ? =====
-In ''new_hashTable()'' non e' necessario allocare tutte le liste di trabocco. La solizione piu' ragionevole e' inizializzare la tabella a NULL ed allocare la lista quando serve durante l'inserimento di un nuovo elemento. Questo velocizza la creazione della tabella, suddivide l'overhead della creazione delle liste e risparmia memoria se non tutte le liste sono necessarie.+In ''new_hashTable()'' non e' necessario allocare tutte le liste di trabocco. La soluzione piu' ragionevole e' inizializzare la tabella a NULL ed allocare la lista quando serve durante l'inserimento di un nuovo elemento. Questo velocizza la creazione della tabella, suddivide l'overhead della creazione delle liste e risparmia memoria se non tutte le liste sono necessarie.
  
 ===== FRAM1: Devo invocare perror() dentro le funzioni di genList e genHash ? ===== ===== FRAM1: Devo invocare perror() dentro le funzioni di genList e genHash ? =====
informatica/sol/laboratorio/faq.1268476783.txt.gz · Ultima modifica: 13/03/2010 alle 10:39 (15 anni fa) da Susanna Pelagatti

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki