table of contents
- bookworm 1:4.18.1-1
- bookworm-backports 1:4.24.0-2~bpo12+1
- testing 1:4.24.0-2
- unstable 1:4.25.0-1
getpagesize(2) | System Calls Manual | getpagesize(2) |
NAZWA¶
getpagesize - pobiera rozmiar strony pamięci
BIBLIOTEKA¶
Standardowa biblioteka C (libc, -lc)
SKŁADNIA¶
#include <unistd.h>
int getpagesize(void);
getpagesize():
Od glibc 2.20:
_DEFAULT_SOURCE || ! (_POSIX_C_SOURCE >= 200112L)
glibc 2.12 do glibc 2.19:
_BSD_SOURCE || ! (_POSIX_C_SOURCE >= 200112L)
Przed glibc 2.12:
_BSD_SOURCE || _XOPEN_SOURCE >= 500
OPIS¶
Funkcja getpagesize() zwraca liczbę bajtów w stronie pamięci, gdzie „strona” jest blokiem o ustalonej długości, jednostką przypisywania pamięci i mapowania plików dokonywanych przez mmap(2)
STANDARDY¶
SVr4, 4.4BSD, SUSv2. W SUSv2 funkcja getpagesize() jest oznaczona jako przestarzała, a w POSIX.1-2001 została pominięta. HP-UX nie zawiera tej funkcji.
UWAGI¶
Przenośne aplikacje powinny używać sysconf(_SC_PAGESIZE) zamiast getpagesize():
#include <unistd.h> long sz = sysconf(_SC_PAGESIZE);
(Większość systemów dopuszcza również synonim _SC_PAGE_SIZE dla _SC_PAGESIZE).
Obecność getpagesize() jako funkcji systemowej Linuksa zależy od architektury. Jeśli istnieje, zwraca symbol 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ę plików binarnych, 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¶
TŁUMACZENIE¶
Autorami polskiego tłumaczenia niniejszej strony podręcznika są: Andrzej Krzysztofowicz <ankry@green.mf.pg.gda.pl> i Michał Kułach <michal.kulach@gmail.com>
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 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.
5 lutego 2023 r. | Linux man-pages 6.03 |