NAZWA¶
getpagesize - pobranie rozmiaru strony pamięci
SKŁADNIA¶
#include <unistd.h>
int getpagesize(void);
OPIS¶
Uwaga! To tłumaczenie może być nieaktualne!
Funkcja
getpagesize() zwraca ilość bajtów w stronie,
przy czym "strona" jest to pojęcie takie, jak używane
w opisie
mmap(2), gdzie jednostką mapowanie plików jest
strona pamięci.
Rozmiar tego rodzaju stron, które są używane przez
mmap można znaleźć za pomocą
#include <unistd.h>
long sz = sysconf(_SC_PAGESIZE);
(gdzie niektóre systemy dopuszczają również synonim
_SC_PAGE_SIZE dla _SC_PAGESIZE), lub
#include <unistd.h>
int sz = getpagesize();
HISTORIA¶
Ta funkcja pierwotnie pojawiła się w 4.2BSD.
ZGODNE Z¶
SVr4, 4.4BSD, SUSv2. W SUSv2 funkcja
getpagesize() jest oznaczona jako
"pozostałość" ("legacy"), a w POSIX
1003.1-2001 została pominięta. HPUX nie zawiera tej funkcji.
UWAGI¶
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ę 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)
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 2 getpagesize
Prosimy o pomoc w aktualizacji stron man - więcej informacji można
znaleźć pod adresem
http://sourceforge.net/projects/manpages-pl/.