jammy (2) getpagesize.2.gz

Provided by: manpages-pl-dev_4.13-4_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():
           Od glibc 2.19:
               _DEFAULT_SOURCE || ! (_POSIX_C_SOURCE >= 200112L)
           glibc 2.12 do 2.19:
               _BSD_SOURCE || ! (_POSIX_C_SOURCE >= 200112L)
           Przed 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.10 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⟩.