getpagesize

Autres langues

Langue: pl

Autres versions - même langue

Version: 2001-12-21 (openSuse - 09/10/07)

Section: 2 (Appels système)

NAZWA

getpagesize - pobranie rozmiaru strony pamiêci

SK£ADNIA

#include <unistd.h>

int getpagesize(void);

OPIS

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)