Provided by: manpages-pl-dev_20060617-3_all bug

NAZWA

       alloca - alokacja pamici

SK/LADNIA

       #include <alloca.h>

       void *alloca(size_t rozmiar);

OPIS

       Funkcja   alloca  przydziela  rozmiar  bajtow  pamici  na  ramce  stosu
       procedury, z ktorej zostala  wywolana.  Ta  tymczasowa  przestrze  jest
       automatycznie  zwalniana  po powrocie funkcji, ktore wywoluje alloca do
       miejsca wywolania.

WARTO ZWRACANA

       Funkcja alloca zwraca wskanik  do  pocztku  przydzielonej  pamici.  Gdy
       przydzielenie pamici spowoduje przepelnienie stosu, zachowanie programu
       nie jest okrelone.

ZGODNE Z

       Istniej dowody, e funkcja alloca wystpowala w  32v,  pwb,  pwb.2,  3bsd
       oraz  4bsd.  W  BSD  4.3  istnieje  dla  niej  strona podrcznika. Linux
       korzysta z wersji GNU.  Funkcja ta nie wystpuje w POSIX ani w SUSv3.

UWAGI DOTYCZCE WERSJI GNU

       Normalnie,  gcc  przeklada  wywolania  alloca  poprzez   kod   wplatany
       (inlined).  Nie  bdzie  to czynione, gdy podana zostanie jedna z opcji:
       -ansi lub -fno-builtin. Lecz naley by ostronym!   Domylnie,  zawarta  w
       glibc wersja <stdlib.h> wlcza <alloca.h> zawierajcy wiersz
              # define alloca(size)   __builtin_alloca (size)
       z niepodanymi konsekwencjami, jeli kto posiada wlasn wersj tej funkcji.

       Fakt,  e  kod tej funkcji jest wplatany powoduje niemoliwo pobrania jej
       adresu, jak te niemoliwo zmiany jej zachowania  poprzez  konsolidacj  z
       inn bibliotek,

       Kod  wplatany  czsto  sklada  si  z pojedynczej instrukcji modyfikujcej
       wskanik stosu, lecz nie sprawdzajcej jego przepelnienia.   Zatem  nigdy
       nie jest zwracana warto NULL wiadczca o bldzie.

B/LDY

       Funkcja  alloca  jest  zalena  od  architektury  i kompilatora. W wielu
       systemach jej implementacja jest niepoprawna. Odradza si jej uywania.

       W wielu systemach alloca nie moe by uywana w obrbie listy argumentow  w
       wywolaniu  funkcji,  gdy  zarezerwowana  przez  alloca  przestrze stosu
       znalazlaby si w rodku przezstrzeni  stosu  przeznaczonej  na  argumenty
       funkcji.

ZOBACZ TAKE

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

INFORMACJE O T/LUMACZENIU

       Powysze  tlumaczenie  pochodzi z nieistniejcego ju Projektu Tlumaczenia
       Manuali i moe nie by aktualne. W razie zauwaenia ronic  midzy  powyszym
       opisem  a  rzeczywistym  zachowaniem  opisywanego programu lub funkcji,
       prosimy o zapoznanie si z oryginaln (angielsk) wersj strony podrcznika.