Provided by: manpages-pl-dev_4.15.0-9_all bug

NAZWA

       getpagesize - pobranie rozmiaru strony pamięci

SKŁADNIA

       #include <unistd.h>

       int getpagesize(void);

   Wymagane ustawienia makr biblioteki glibc (patrz feature_test_macros(7)):

       getpagesize():
           Since glibc 2.20:
               _DEFAULT_SOURCE || ! (_POSIX_C_SOURCE >= 200112L)
           Glibc 2.12 to 2.19:
               _BSD_SOURCE || ! (_POSIX_C_SOURCE >= 200112L)
           Before glibc 2.12:
               _BSD_SOURCE || _XOPEN_SOURCE >= 500

OPIS

       The  function getpagesize()  returns the number of bytes in a memory page, where "page" is
       a fixed-length block, the unit  for  memory  allocation  and  file  mapping  performed  by
       mmap(2).

ZGODNE Z

       SVr4,  4.4BSD,  SUSv2.  W  SUSv2  funkcja  getpagesize() jest oznaczona jako "pozostałość"
       ("LEGACY"), a w POSIX.1-2001 została pominięta. HP-UX nie zawiera tej funkcji.

UWAGI

       Portable applications should employ sysconf(_SC_PAGESIZE) instead of getpagesize():

           #include <unistd.h>
           long sz = sysconf(_SC_PAGESIZE);

       (Most systems allow the synonym _SC_PAGE_SIZE for _SC_PAGESIZE.)

       Obecność getpagesize() jako funkcji  systemowej  Linuksa  zależy  od  architektury.  Jeśli
       istnieje,  zwracasymbol  jądra PAGE_SIZE, który zależy od architektury i modelu maszyny. W
       ogólności, aby mieć jedną dystrybucję binarną dla każdej architektury, używa się binariów,
       które  są  zależne  od  architektury,  ale  nie  od modelu maszyny. Oznacza to, że program
       użytkownika nie  powinien  określać  PAGE_SIZE  podczas  kompilacji  na  podstawie  plików
       nagłówkowych,  a używać bieżącej funkcji systemowej, co najmniej dla tych architektur (np.
       sun4), dla których istnieje zależność PAGE_SIZE od modelu maszyny. W  tym  miejscu  libc4,
       libc5  i  glibc 2.0 zawodzą, gdyż ich getpagesize() zwraca wartość wyliczoną statycznie, a
       nie korzysta funkcji systemowej. Wszystko jest OK w glibc 2.1.

ZOBACZ TAKŻE

       mmap(2), sysconf(3)

O STRONIE

       Angielska wersja tej strony  pochodzi  z  wydania  5.13  projektu  Linux  man-pages.  Opis
       projektu,  informacje  dotyczące  zgłaszania  błędów oraz najnowszą wersję oryginału można
       znaleźć pod adresem https://www.kernel.org/doc/man-pages/.

TŁUMACZENIE

       Autorami polskiego tłumaczenia niniejszej strony podręcznika  są:  Andrzej  Krzysztofowicz
       <ankry@green.mf.pg.gda.pl>

       Niniejsze  tłumaczenie  jest  wolną  dokumentacją. Bliższe informacje o warunkach licencji
       można   uzyskać   zapoznając   się   z   GNU   General   Public   License   w   wersji   3
       ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩   lub   nowszej.   Nie  przyjmuje  się  ŻADNEJ
       ODPOWIEDZIALNOŚCI.

       Błędy w tłumaczeniu  strony  podręcznika  prosimy  zgłaszać  na  adres  listy  dyskusyjnej
       ⟨manpages-pl-list@lists.sourceforge.net⟩.