X-Git-Url: https://gapil.gnulinux.it/gitweb/?a=blobdiff_plain;f=intro.tex;h=ae6fa9c87929c9e19c467633cbf1811a76340829;hb=b68014de87099a61ac1a2eeec57618d04749849b;hp=b4813530b5d961f318c3a4afe5873133b42e2276;hpb=193d612d40c5f81f5559ea6e11e70f6b6e51fb39;p=gapil.git diff --git a/intro.tex b/intro.tex index b481353..ae6fa9c 100644 --- 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