Provided by: manpages-pl-dev_0.5-1_all bug

NAZWA

       alloca - alokacja pamięci

SKŁADNIA

       #include <alloca.h>

       void *alloca(size_t rozmiar);

OPIS

        Uwaga! To tłumaczenie może być nieaktualne!

       Funkcja  alloca  przydziela  rozmiar  bajtów  pamięci  na  ramce stosu procedury, z której
       została wywołana. Ta  tymczasowa  przestrzeń  jest  automatycznie  zwalniana  po  powrocie
       funkcji, które wywołuje alloca do miejsca wywołania.

WARTOŚĆ ZWRACANA

       Funkcja  alloca  zwraca  wskaźnik  do  początku  przydzielonej  pamięci. Gdy przydzielenie
       pamięci spowoduje przepełnienie stosu, zachowanie programu nie jest określone.

ZGODNE Z

       Istnieją dowody, że funkcja alloca występowała w 32v, pwb, pwb.2, 3bsd oraz  4bsd.  W  BSD
       4.3  istnieje  dla  niej  strona podręcznika. Linux korzysta z wersji GNU.  Funkcja ta nie
       występuje w POSIX ani w SUSv3.

UWAGI DOTYCZĄCE WERSJI GNU

       Normalnie, gcc przekłada wywołania alloca poprzez kod wplatany (inlined).  Nie  będzie  to
       czynione,  gdy  podana  zostanie  jedna  z  opcji: -ansi lub -fno-builtin. Lecz należy być
       ostrożnym!  Domyślnie, zawarta w glibc wersja  <stdlib.h>  włącza  <alloca.h>  zawierający
       wiersz
              # define alloca(size)   __builtin_alloca (size)
       z niepożądanymi konsekwencjami, jeśli ktoś posiada własną wersję tej funkcji.

       Fakt,  że kod tej funkcji jest wplatany powoduje niemożliwość pobrania jej adresu, jak też
       niemożliwość zmiany jej zachowania poprzez konsolidacją z inną biblioteką,

       Kod wplatany często składa się z pojedynczej instrukcji modyfikującej wskaźnik stosu, lecz
       nie  sprawdzającej  jego  przepełnienia.   Zatem  nigdy  nie  jest  zwracana  wartość NULL
       świadcząca o błędzie.

BŁĘDY

       Funkcja alloca  jest  zależna  od  architektury  i  kompilatora.  W  wielu  systemach  jej
       implementacja jest niepoprawna. Odradza się jej używania.

       W  wielu  systemach  alloca  nie  może  być używana w obrębie listy argumentów w wywołaniu
       funkcji, gdyż  zarezerwowana  przez  alloca  przestrzeń  stosu  znalazłaby  się  w  środku
       przezstrzeni stosu przeznaczonej na argumenty funkcji.

ZOBACZ TAKŻE

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

INFORMACJE O TŁUMACZENIU

       Powyższe  tłumaczenie  pochodzi  z nieistniejącego już Projektu Tłumaczenia Manuali i może
       nie być aktualne. W  razie  zauważenia  różnic  między  powyższym  opisem  a  rzeczywistym
       zachowaniem  opisywanego  programu  lub  funkcji,  prosimy  o  zapoznanie się z oryginalną
       (angielską) wersją strony podręcznika za pomocą polecenia:

              man --locale=C 3 alloca

       Prosimy o pomoc w aktualizacji stron man - więcej informacji  można  znaleźć  pod  adresem
       http://sourceforge.net/projects/manpages-pl/.