Ripulitura (via ispell) e correzioni varie
[gapil.git] / process.tex
index d436a4fa963e55375a4a207fd6b2a6c87b67ac54..c798a105dbdf17ce770a8ac5d7a06662f9fdc8bb 100644 (file)
@@ -438,13 +438,13 @@ quattro, i prototipi sono i seguenti:
 \begin{functions}
 \headdecl{stdlib.h}
 \funcdecl{void *calloc(size\_t size)}
 \begin{functions}
 \headdecl{stdlib.h}
 \funcdecl{void *calloc(size\_t size)}
-  Alloca \var{size} bytes nello heap. La memoria viene inizializzata a 0.
+  Alloca \var{size} byte nello heap. La memoria viene inizializzata a 0.
   
   La funzione restituisce il puntatore alla zona di memoria allocata in caso
   di successo e \macro{NULL} in caso di fallimento, nel qual caso
   \var{errno} viene settata a \macro{ENOMEM}.
 \funcdecl{void *malloc(size\_t size)}
   
   La funzione restituisce il puntatore alla zona di memoria allocata in caso
   di successo e \macro{NULL} in caso di fallimento, nel qual caso
   \var{errno} viene settata a \macro{ENOMEM}.
 \funcdecl{void *malloc(size\_t size)}
-  Alloca \var{size} bytes nello heap. La memoria non viene inizializzata.
+  Alloca \var{size} byte nello heap. La memoria non viene inizializzata.
 
   La funzione restituisce il puntatore alla zona di memoria allocata in caso
   di successo e \macro{NULL} in caso di fallimento, nel qual caso
 
   La funzione restituisce il puntatore alla zona di memoria allocata in caso
   di successo e \macro{NULL} in caso di fallimento, nel qual caso
@@ -474,7 +474,7 @@ allocazione.
 
 La memoria allocata dinamicamente deve essere esplicitamente rilasciata usando
 \func{free}\footnote{le glibc provvedono anche una funzione \func{cfree}
 
 La memoria allocata dinamicamente deve essere esplicitamente rilasciata usando
 \func{free}\footnote{le glibc provvedono anche una funzione \func{cfree}
-  defininita per compatibilità con SunOS, che è deprecata} una volta che non
+  definita per compatibilità con SunOS, che è deprecata} una volta che non
 sia più necessaria. Questa funzione vuole come parametro un puntatore
 restituito da una precedente chiamata a una qualunque delle funzioni di
 allocazione e che non sia già stato liberato da un'altra chiamata a
 sia più necessaria. Questa funzione vuole come parametro un puntatore
 restituito da una precedente chiamata a una qualunque delle funzioni di
 allocazione e che non sia già stato liberato da un'altra chiamata a
@@ -484,13 +484,13 @@ La funzione \func{realloc} si usa invece per cambiare (in genere aumentare)
 la dimensione di un'area di memoria precedentemente allocata, la funzione
 vuole in ingresso il puntatore restituito dalla precedente chiamata ad una
 \func{malloc} (se è passato un valore \macro{NULL} allora la funzione si
 la dimensione di un'area di memoria precedentemente allocata, la funzione
 vuole in ingresso il puntatore restituito dalla precedente chiamata ad una
 \func{malloc} (se è passato un valore \macro{NULL} allora la funzione si
-comporta come \func{malloc}\footnote{questo è vero per linux e
+comporta come \func{malloc}\footnote{questo è vero per Linux e
   l'implementazione secondo lo standard ANSI C, ma non è vero per alcune
   vecchie implementazioni, inoltre alcune versioni delle librerie del C
   consentivano di usare \func{realloc} anche per un puntatore liberato con
   \func{free} purché non ci fossero state altre chiamate a funzioni di
   allocazione, questa funzionalità è totalmente deprecata e non è consentita
   l'implementazione secondo lo standard ANSI C, ma non è vero per alcune
   vecchie implementazioni, inoltre alcune versioni delle librerie del C
   consentivano di usare \func{realloc} anche per un puntatore liberato con
   \func{free} purché non ci fossero state altre chiamate a funzioni di
   allocazione, questa funzionalità è totalmente deprecata e non è consentita
-  sotto linux}), ad esempio quando si deve far crescere la dimensione di un
+  sotto Linux}), ad esempio quando si deve far crescere la dimensione di un
 vettore; in questo caso se è disponibile dello spazio adiacente al precedente
 la funzione lo utilizza, altrimenti rialloca altrove un blocco della dimensione
 voluta copiandoci automaticamente il contenuto, lo spazio in più non viene
 vettore; in questo caso se è disponibile dello spazio adiacente al precedente
 la funzione lo utilizza, altrimenti rialloca altrove un blocco della dimensione
 voluta copiandoci automaticamente il contenuto, lo spazio in più non viene
@@ -552,7 +552,7 @@ di problemi di memory leak descritti in precedenza 
 \texttt{alloca} che invece che allocare la memoria nello heap usa lo il
 segmento di stack della funzione corrente. La sintassi è identica:
 \begin{prototype}{stdlib.h}{void *alloca(size\_t size)}
 \texttt{alloca} che invece che allocare la memoria nello heap usa lo il
 segmento di stack della funzione corrente. La sintassi è identica:
 \begin{prototype}{stdlib.h}{void *alloca(size\_t size)}
-  Alloca \texttt{size} bytes nel segmento di stack della funzione chiamante.
+  Alloca \texttt{size} byte nel segmento di stack della funzione chiamante.
   La memoria non viene inizializzata.
 
   La funzione restituisce il puntatore alla zona di memoria allocata in caso
   La memoria non viene inizializzata.
 
   La funzione restituisce il puntatore alla zona di memoria allocata in caso
@@ -576,8 +576,8 @@ Gli svantaggi sono che la funzione non 
 non è possibile aumentare le dimensioni dello stack una volta chiamata una
 funzione e quindi l'uso limita la portabilità dei programmi, inoltre se si
 cerca di allocare troppa memoria non si ottiene un messaggio di errore, ma un
 non è possibile aumentare le dimensioni dello stack una volta chiamata una
 funzione e quindi l'uso limita la portabilità dei programmi, inoltre se si
 cerca di allocare troppa memoria non si ottiene un messaggio di errore, ma un
-segnale di \textit{segmentation violation} analogo a quello che si avrebbe da
-una ricorsione infinita.
+segnale di \textit{segment violation} analogo a quello che si avrebbe da una
+ricorsione infinita.
 
 Inoltre non è chiaramente possibile usare questa funzione per allocare memoria
 che deve poi essere usata anche al di fuori della funzione in cui questa viene
 
 Inoltre non è chiaramente possibile usare questa funzione per allocare memoria
 che deve poi essere usata anche al di fuori della funzione in cui questa viene
@@ -690,7 +690,7 @@ che pu
 
 Il controllo del flusso di un programma in genere viene effettuato con le
 varie istruzioni del linguaggio C, la più bistrattata delle quali è il
 
 Il controllo del flusso di un programma in genere viene effettuato con le
 varie istruzioni del linguaggio C, la più bistrattata delle quali è il
-\texttt{goto}, ampiamente deprecato in favore di costrutti più puliti; esiste
+\func{goto}, ampiamente deprecato in favore di costrutti più puliti; esiste
 però un caso in l'uso di questa istruzione porta all'implementazione più
 efficiente, quello dell'uscita in caso di errore.
 
 però un caso in l'uso di questa istruzione porta all'implementazione più
 efficiente, quello dell'uscita in caso di errore.
 
@@ -699,6 +699,9 @@ un'altra funzione, per cui se l'errore avviene in funzioni profondamente
 annidate occorre usare la funzione \func{longjump}. 
 
 
 annidate occorre usare la funzione \func{longjump}. 
 
 
+
+
+
 \section{La gestione di parametri e opzioni}
 \label{sec:proc_options}
 
 \section{La gestione di parametri e opzioni}
 \label{sec:proc_options}
 
@@ -744,7 +747,7 @@ prototipo:
 La funzione esegue il parsing degli argomenti passati da linea di comando
 riconoscendo le possibili opzioni segnalate con \var{optstring}.
 
 La funzione esegue il parsing degli argomenti passati da linea di comando
 riconoscendo le possibili opzioni segnalate con \var{optstring}.
 
-Ritorna il carattere che segue l'opzione, \cmd{:} se manca un paramatro
+Ritorna il carattere che segue l'opzione, \cmd{:} se manca un parametro
 all'opzione, \cmd{?} se l'opzione è sconosciuta, e -1 se non esistono altre
 opzioni.
 \end{prototype}
 all'opzione, \cmd{?} se l'opzione è sconosciuta, e -1 se non esistono altre
 opzioni.
 \end{prototype}
@@ -804,7 +807,6 @@ In \nfig\ 
                 exit(1);
             }
             break;
                 exit(1);
             }
             break;
-            break;
         case 'a':   /* output file (append) */
             out_file=open(optarg,O_WRONLY|O_CREAT|O_APPEND);
             break;
         case 'a':   /* output file (append) */
             out_file=open(optarg,O_WRONLY|O_CREAT|O_APPEND);
             break;
@@ -829,6 +831,7 @@ In \nfig\ 
   \label{fig:proc_options_code}
 \end{figure}
 
   \label{fig:proc_options_code}
 \end{figure}
 
+
 \subsection{Opzioni in formato esteso}
 \label{sec:proc_opt_extended}
 
 \subsection{Opzioni in formato esteso}
 \label{sec:proc_opt_extended}
 
@@ -839,6 +842,7 @@ versione estesa di \func{getopt}.
 
 (NdA: da finire).
 
 
 (NdA: da finire).
 
+
 \subsection{Le variabili di ambiente}
 \label{sec:proc_environ}
 
 \subsection{Le variabili di ambiente}
 \label{sec:proc_environ}
 
@@ -848,7 +852,7 @@ sistema un \textsl{ambiente}, nella forma di una lista di variabili
 chiamata ad \func{exec} che lo ha lanciato.
 
 Come per la lista dei parametri anche questa lista è un array di puntatori a
 chiamata ad \func{exec} che lo ha lanciato.
 
 Come per la lista dei parametri anche questa lista è un array di puntatori a
-caratteri, ciascuno dei quali punta ad una stringa (terminata da un null). A
+caratteri, ciascuno dei quali punta ad una stringa (terminata da un NULL). A
 differenza di \var{argv[]} però in questo caso non si ha la lunghezza
 dell'array dato da un equivalente di \var{argc}, ma la lista è terminata da un
 puntatore nullo.
 differenza di \var{argv[]} però in questo caso non si ha la lunghezza
 dell'array dato da un equivalente di \var{argc}, ma la lista è terminata da un
 puntatore nullo.
@@ -873,7 +877,7 @@ Per convenzione le stringhe che definiscono l'ambiente sono tutte del tipo
 in \curfig, sono definite dal sistema per queste c'è la convezione di usare
 nomi espressi in caratteri maiuscoli.
 
 in \curfig, sono definite dal sistema per queste c'è la convezione di usare
 nomi espressi in caratteri maiuscoli.
 
-Il kernel non usa mai queste variabili, il loro uso e la loro intepretazione è
+Il kernel non usa mai queste variabili, il loro uso e la loro interpretazione è
 riservata alle applicazioni e ad alcune funzioni di libreria; in genere esse
 costituiscono un modo comodo per definire un comportamento specifico senza
 dover ricorrere all'uso di opzioni a linea di comando o di file di
 riservata alle applicazioni e ad alcune funzioni di libreria; in genere esse
 costituiscono un modo comodo per definire un comportamento specifico senza
 dover ricorrere all'uso di opzioni a linea di comando o di file di
@@ -888,6 +892,11 @@ l'editor preferito da invocare in caso di necessit
 
 Gli standard POSIX e XPG3 definiscono alcune di queste variabili (le più
 comuni), come riportato in \ntab. GNU/Linux le supporta tutte e ne definisce
 
 Gli standard POSIX e XPG3 definiscono alcune di queste variabili (le più
 comuni), come riportato in \ntab. GNU/Linux le supporta tutte e ne definisce
-anche altre per una lista parziale si può controllare \cmd{man environ}
+anche altre per una lista parziale si può controllare \cmd{man environ}.
+
+
+
+
+