Provided by: manpages-fr-dev_2.64.1-1_all bug

NOM

       alloca - Allouer de la mémoire

SYNOPSIS

       #include <alloca.h>

       void *alloca(size_t size);

DESCRIPTION

       La fonction alloca() alloue size octets dans la pile de l’appelant. Cet
       espace temporaire est automatiquement  libéré  lors  du  retour  de  la
       fonction ayant invoqué alloca().

VALEUR RENVOYÉE

       La  fonction  alloca()  renvoie  un  pointeur  sur  le début de la zone
       allouée. Si  l’allocation  provoque  un  dépassement  de  la  pile,  le
       comportement du programme est indéterminé.

CONFORMITÉ À

       Il  semble  que  alloca()  soit apparue dans 32v, pwb, pwb.2, BSD 3, et
       BSD 4. Il existe une page de manuel la décrivant  dans  BSD 4.3.  Linux
       utilise la version GNU. Cette fonction n’est pas dans POSIX.1-2001.

NOTES

   Notes à propos des versions GNU
       En général, gcc (1) traduit l’appel de alloca() par du code « inline ».
       Ceci n’est pas le cas si l’option -ansi ou  l’option  -fno-builtin  est
       fournie.  Attention,  par  défaut,  avec  la  glibc,  <stdlib.h> inclut
       <alloca.h> qui contient la ligne :

           # define alloca(size)   __builtin_alloca (size)

       avec toutes les conséquences fâcheuses que cela entraîne si  on  a  une
       fonction personnelle de ce nom.

       Le  fait  que  le  code  soit  développé  « inline » signifie qu’il est
       impossible de prendre l’adresse  de  la  fonction  ou  de  changer  son
       comportement en utilisant une bibliothèque différente.

       Le code « inline » consiste souvent en une seule instruction qui ajuste
       le pointeur de pile et ne vérifie pas le débordement de pile. Il n’y  a
       donc pas de retour d’erreur de valeur NULL.

BOGUES

       La  fonction  alloca()  dépend  de  la  machine  et du compilateur. Sur
       beaucoup de systèmes, son implémentation est  boguée.  Son  utilisation
       est déconseillée.

       Sur  beaucoup de systèmes alloca() ne doit pas être utilisée au sein de
       la liste des arguments d’un appel de fonction,  car  l’espace  de  pile
       réservé  par alloca() se trouverait alors au milieu de l’espace utilisé
       par les arguments de la fonction.

VOIR AUSSI

       brk(2), getpagesize(2), calloc(3), malloc(3), realloc(3)

TRADUCTION

       Cette page de manuel a été traduite  et  mise  à  jour  par  Christophe
       Blaess  <http://www.blaess.fr/christophe/> entre 1996 et 2003, puis par
       Alain Portal <aportal AT univ-montp2 DOT fr> jusqu’en 2006, et  mise  à
       disposition sur http://manpagesfr.free.fr/.

       Les mises à jour et corrections de la version présente dans Debian sont
       directement gérées par Florentin Duneau <fduneau@gmail.com> et l’équipe
       francophone de traduction de Debian.

       Veuillez   signaler   toute   erreur   de   traduction  en  écrivant  à
       <debian-l10n-french@lists.debian.org> ou par un rapport de bogue sur le
       paquet manpages-fr.

       Vous  pouvez  toujours avoir accès à la version anglaise de ce document
       en utilisant la commande « man -L C <section> <page_de_man> ».