Provided by:
manpages-es_1.55-10_all 
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)