Aggiornamento e revisione della sezione sulla scansione delle
[gapil.git] / intro.tex
index b4813530b5d961f318c3a4afe5873133b42e2276..ae6fa9c87929c9e19c467633cbf1811a76340829 100644 (file)
--- a/intro.tex
+++ b/intro.tex
@@ -258,7 +258,7 @@ libreria e quello di una chiamata al sistema.
 Le librerie standard del C consentono comunque, nel caso non sia presente una
 specifica funzione di libreria corrispondente, di eseguire una \textit{system
   call} generica tramite la funzione \funcd{syscall}, il cui prototipo,
-accessible se si è definita la macro \macro{\_GNU\_SOURCE}, (vedi
+accessibile se si è definita la macro \macro{\_GNU\_SOURCE}, (vedi
 sez.~\ref{sec:intro_gcc_glibc_std}) è:
 \begin{functions}
   \headdecl{unistd.h}
@@ -837,6 +837,9 @@ in esse definite, sono illustrate nel seguente elenco:
   \item a partire dalla versione 2.3.3 delle \acr{glibc} un valore maggiore o
     uguale a ``\texttt{200112L}'' rende disponibili le funzionalità di base
     previste dallo standard POSIX.1-2001, escludendo le estensioni XSI;
+  \item a partire dalla versione 2.10 delle \acr{glibc} un valore maggiore o
+    uguale a ``\texttt{200809L}'' rende disponibili le funzionalità di base
+    previste dallo standard POSIX.1-2008, escludendo le estensioni XSI;
   \item in futuro valori superiori potranno abilitare ulteriori estensioni.
   \end{itemize}
 
@@ -885,6 +888,10 @@ in esse definite, sono illustrate nel seguente elenco:
     ``\texttt{600}'' o superiore rende disponibili anche le funzionalità
     introdotte con SUSv3, corrispondenti allo standard POSIX.1-2001 più le
     estensioni XSI.
+  \item a partire dalla versione 2.10 delle \acr{glibc} un valore uguale a
+    ``\texttt{700}'' o superiore rende disponibili anche le funzionalità
+    introdotte con SUSv4, corrispondenti allo standard POSIX.1-2008 più le
+    estensioni XSI.
   \end{itemize}
 
 \item[\macro{\_XOPEN\_SOURCE\_EXTENDED}] definendo questa macro si rendono
@@ -958,10 +965,10 @@ una opportuna macro; queste estensioni sono illustrate nel seguente elenco:
   estensione ad uso di transizione per le \textit{Single UNIX Specification},
   per consentire la gestione di file di grandi dimensioni anche nei sistemi a
   32 bit, in cui la dimensione massima, espressa con un intero, non poteva
-  superare i 2 gigabyte.  Nei nuovi programmi queste funzioni devono essere
-  evitate, a favore dell'uso macro \macro{\_FILE\_OFFSET\_BITS}, che definita
-  al valore di \texttt{64} consente di usare in maniera trasparente le
-  funzioni dell'interfaccia classica.
+  superare i 2Gb.  Nei nuovi programmi queste funzioni devono essere evitate,
+  a favore dell'uso macro \macro{\_FILE\_OFFSET\_BITS}, che definita al valore
+  di \texttt{64} consente di usare in maniera trasparente le funzioni
+  dell'interfaccia classica.
 
 \item[\macro{\_FILE\_OFFSET\_BITS}] la definizione di questa macro al valore
   di \texttt{64} consente di attivare la conversione automatica di tutti i
@@ -1013,16 +1020,22 @@ una opportuna macro; queste estensioni sono illustrate nel seguente elenco:
   di base che non cambiano il comportamento dei programmi se si richiede una
   ottimizzazione di livello uno o superiore,\footnote{vale a dire se si usa
     l'opzione \texttt{-O1} o superiore del \texttt{gcc}.}  mentre con il
-  valore \texttt{2} vengono aggiunti maggiori controlli.
+  valore \texttt{2} vengono aggiunti maggiori controlli. Dato che alcuni dei
+  controlli vengono effettuati in fase di compilazione l'uso di questa macro
+  richiede anche la collaborazione del compilatore, disponibile dalla
+  versione 4.0 del \texttt{gcc}.
 
 \end{basedescript}
 
 Se non è stata specificata esplicitamente nessuna di queste macro il default
 assunto è che siano definite \macro{\_BSD\_SOURCE}, \macro{\_SVID\_SOURCE},
-\macro{\_POSIX\_SOURCE}, e \macro{\_POSIX\_C\_SOURCE} con valore
-``\texttt{200112L}'' (o ``\texttt{199506L}'' per le versioni delle \acr{glibc}
-precedenti la 2.4). Si ricordi infine che perché queste macro abbiano effetto
-devono essere sempre definite prima dell'inclusione dei file di dichiarazione.
+\macro{\_POSIX\_SOURCE} e, con le \acr{glibc} più recenti, che la macro
+\macro{\_POSIX\_C\_SOURCE} abbia il valore ``\texttt{200809L}'', per versioni
+precedenti delle \acr{glibc} il valore assegnato a \macro{\_POSIX\_C\_SOURCE}
+era di ``\texttt{200112L}'' prima delle 2.10, di ``\texttt{199506L}'' prima
+delle 2.4, di ``\texttt{199506L}'' prima delle 2.1. Si ricordi infine che
+perché queste macro abbiano effetto devono essere sempre definite prima
+dell'inclusione dei file di dichiarazione.
 
 
 % vedi anche man feature_test_macros
@@ -1048,9 +1061,10 @@ devono essere sempre definite prima dell'inclusione dei file di dichiarazione.
 % LocalWords:  Technical TC SUS Opengroup features STRICT std ATFILE fseeko
 % LocalWords:  ftello fseek ftell lseek FORTIFY REENTRANT SAFE overflow memcpy
 % LocalWords:  mempcpy memmove memset stpcpy strcpy strncpy strcat strncat gets
-% LocalWords:  sprintf snprintf vsprintf vsnprintf
+% LocalWords:  sprintf snprintf vsprintf vsnprintf syscall number calendar BITS
 
 %%% Local Variables: 
 %%% mode: latex
 %%% TeX-master: "gapil"
 %%% End: 
+% LocalWords:  pathname