Provided by: manpages-es_1.55-10_all bug

NOMBRE

       alloca - concede memoria

SINOPSIS

       #include <alloca.h>

       void *alloca( size_t  size );

DESCRIPCI'ON

       La  funcion  alloca  concede  size bytes de espacio en el marco de pila
       (stack  frame)  del  invocador.   Este  espacio  temporal   se   libera
       automaticamente  cuando  la  funcion  que  llamo  a alloca regresa a su
       invocador.

VALOR DEVUELTO

       La  funcion  alloca  devuelve  un  puntero  al  comienzo  del   espacio
       concedido.  Si  la  reserva  provoca  un  desbordamiento  de  pila,  el
       comportamiento  del  programa  es  indefinido.   Esta  funcion  no   se
       encuentra en POSIX ni SUSv3.

NOTAS DE LA VERSI'ON GNU

       Normalmente,  gcc traduce las llamadas a alloca por codigo inline. Esto
       no es asi cuando se especifica o bien la opcion -ansi o bien la  opcion
       -fno-builtin. Pero atencion! Por defecto la version glibc de <stdlib.h>
       incluye <alloca.h> y este contiene la linea
              # define alloca(size)   __builtin_alloca (size)
       lo que puede provocar confusion si se dispone de una version privada de
       esta funcion.

       El hecho de que el codigo sea inline, implica que es imposible tomar la
       direccion de esta funcion, o cambiar su comportamiento enlazandola  con
       una biblioteca diferente.

       El codigo inline consiste a menudo en una sola instruccion ajustando el
       puntero de pila, y no comprueba un posible desbordamiento de pila.  Por
       tanto, no se devuelve un error NULL.

FALLOS

       La  funcion  alloca  es  dependiente de la maquina y del compilador. En
       muchos  sistemas  su  implementacion  es  defectuosa.   Su   uso   esta
       desaconsejado.

       En  muchos sistemas alloca no puede ser utilizada dentro de la lista de
       argumentos de  una  llamada  a  funcion,  porque  el  espacio  de  pila
       reservado  por  alloca apareceria en mitad del espacio de pila para los
       argumentos de la funcion.

HISTORIA

       Hay evidencias de que la funcion alloca aparecio en  32v,  pwb,  pwb.2,
       3bsd, y 4bsd. Hay una pagina de manual para ella en BSD 4.3.  Linux usa
       la version de GNU.

V'EASE TAMBI'EN

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