X-Git-Url: https://gapil.gnulinux.it/gitweb/?p=gapil.git;a=blobdiff_plain;f=process.tex;h=006947bc34838132a54e1fce083a7b3069fef5a8;hp=cbdbc1d94b44120b93b0d30779150ae0a036fe0a;hb=406973e35011347c3812c671511ce738378a525b;hpb=276ae7fb9a1e43b6d5e5944071848094c8cc2c3b diff --git a/process.tex b/process.tex index cbdbc1d..006947b 100644 --- a/process.tex +++ b/process.tex @@ -3,7 +3,7 @@ %% Copyright (C) 2000-2004 Simone Piccardi. Permission is granted to %% copy, distribute and/or modify this document under the terms of the GNU Free %% Documentation License, Version 1.1 or any later version published by the -%% Free Software Foundation; with the Invariant Sections being "Prefazione", +%% Free Software Foundation; with the Invariant Sections being "Un preambolo", %% with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the %% license is included in the section entitled "GNU Free Documentation %% License". @@ -1204,7 +1204,7 @@ invece esiste il suo valore sar seguendo il comportamento di BSD4.4; dato che questo può dar luogo a perdite di memoria e non rispetta lo standard. Il comportamento è stato modificato a partire dalle 2.1.2, eliminando anche, sempre in conformità a SUSv2, - l'attributo \ctyp{const} dal prototipo.} \param{string} alla lista delle + l'attributo \direct{const} dal prototipo.} \param{string} alla lista delle variabili di ambiente; pertanto ogni cambiamento alla stringa in questione si riflette automaticamente sull'ambiente, e quindi si deve evitare di passare a questa funzione una variabile automatica (per evitare i problemi esposti in @@ -1286,9 +1286,10 @@ nella programmazione normale. Talvolta però è necessario che la funzione possa restituire indietro alla funzione chiamante un valore relativo ad uno dei suoi parametri. Per far -questo si usa il cosiddetto \textit{value result argument}, si passa cioè, -invece di una normale variabile, un puntatore alla stessa; vedremo alcuni -esempi di questa modalità nelle funzioni che gestiscono i socket (in +questo si usa il cosiddetto +\index{\textit{value~result~argument}}\textit{value result argument}, si passa +cioè, invece di una normale variabile, un puntatore alla stessa; vedremo +alcuni esempi di questa modalità nelle funzioni che gestiscono i socket (in sez.~\ref{sec:TCP_functions}), in cui, per permettere al kernel di restituire informazioni sulle dimensioni delle strutture degli indirizzi utilizzate, viene usato questo meccanismo. @@ -1335,7 +1336,7 @@ inoltre che l'ultimo degli argomenti fissi sia di tipo a sé stesso.} il che esclude vettori, puntatori a funzioni e interi di tipo \ctyp{char} o \ctyp{short} (con segno o meno). Una restrizione ulteriore di alcuni compilatori è di non dichiarare l'ultimo parametro fisso come -\ctyp{register}. +\direct{register}. Una volta dichiarata la funzione il secondo passo è accedere ai vari parametri quando la si va a definire. I parametri fissi infatti hanno un loro nome, ma @@ -1602,8 +1603,8 @@ chiamata ad un'altra funzione vengono salvati nel contesto nello stack) torneranno al valore avuto al momento della chiamata di \func{setjmp}; per questo quando si vuole avere un comportamento coerente si può bloccare l'ottimizzazione che porta le variabili nei registri dichiarandole tutte come -\direct{volatile}\footnote{la direttiva \ctyp{volatile} informa il compilatore - che la variabile che è dichiarata può essere modificata, durante +\direct{volatile}\footnote{la direttiva \direct{volatile} informa il + compilatore che la variabile che è dichiarata può essere modificata, durante l'esecuzione del nostro, da altri programmi. Per questo motivo occorre dire al compilatore che non deve essere mai utilizzata l'ottimizzazione per cui quanto opportuno essa viene mantenuta in un registro, poiché in questo modo