X-Git-Url: https://gapil.gnulinux.it/gitweb/?p=gapil.git;a=blobdiff_plain;f=process.tex;h=cc8b3dffdee5975408db4139d47a44976bd7885f;hp=dd898a8c338ee0fe60edec06a334af6865d9ff0e;hb=17e39705eccbaa9111592907195befd05dbbed2d;hpb=387047dacdae5dbaed66ec9b493cad869372f83d diff --git a/process.tex b/process.tex index dd898a8..cc8b3df 100644 --- a/process.tex +++ b/process.tex @@ -1,3 +1,13 @@ +%% process.tex +%% +%% Copyright (C) 2000-2002 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", +%% 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". +%% \chapter{L'interfaccia base con i processi} \label{cha:process_interface} @@ -482,10 +492,15 @@ allineato correttamente per tutti i tipi di dati; ad esempio sulle macchine a multipli di 8 byte. In genere si usano le funzioni \func{malloc} e \func{calloc} per allocare -dinamicamente la memoria necessaria al programma, e siccome i puntatori -ritornati sono di tipo generico non è necessario effettuare un cast per -assegnarli a puntatori al tipo di variabile per la quale si effettua -l'allocazione. +dinamicamente la quantità di memoria necessaria al programma indicata da +\param{size},\footnote{queste funzioni presentano un comportamento diverso fra + le \acr{glibc} e le \acr{uClib} quando il valore di \param{size} è nullo. + Nel primo caso viene comunque restituito un puntatore valido, anche se non è + chiaro a cosa esso possa fare riferimento, nel secondo caso viene restituito + \func{NULL}. Il comportamento è analogo con \code{realloc(NULL, 0)}.} e +siccome i puntatori ritornati sono di tipo generico non è necessario +effettuare un cast per assegnarli a puntatori al tipo di variabile per la +quale si effettua l'allocazione. La memoria allocata dinamicamente deve essere esplicitamente rilasciata usando \func{free}\footnote{le glibc provvedono anche una funzione \func{cfree}