getpagesize(2) System Calls Manual getpagesize(2) NAZWA getpagesize - pobiera rozmiar strony pamieci BIBLIOTEKA Standardowa biblioteka C (libc, -lc) SKLADNIA #include int getpagesize(void); Wymagane ustawienia makr biblioteki glibc (patrz feature_test_macros(7)): 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 liczbe bajtow w stronie pamieci, gdzie ,,strona" jest blokiem o ustalonej dlugosci, jednostka przypisywania pamieci i mapowania plikow dokonywanych przez mmap(2) STANDARDY Brak. HISTORIA Wywolanie pojawilo sie pierwotnie w 4.2BSD. SVr4, 4.4BSD, SUSv2. W SUSv2 funkcja getpagesize() jest oznaczona jako przestarzala, a w POSIX.1-2001 zostala pominieta. HP-UX nie zawiera tej funkcji. UWAGI Przenosne aplikacje powinny uzywac sysconf(_SC_PAGESIZE) zamiast getpagesize(): #include long sz = sysconf(_SC_PAGESIZE); (Wiekszosc systemow dopuszcza rowniez synonim _SC_PAGE_SIZE dla _SC_PAGESIZE). Obecnosc getpagesize() jako funkcji systemowej Linuksa zalezy od architektury. Jesli istnieje, zwraca symbol jadra PAGE_SIZE, ktory zalezy od architektury i modelu maszyny. W ogolnosci, aby miec jedna dystrybucje binarna dla kazdej architektury, uzywa sie plikow binarnych, ktore sa zalezne od architektury, ale nie od modelu maszyny. Oznacza to, ze program uzytkownika nie powinien okreslac PAGE_SIZE podczas kompilacji na podstawie plikow naglowkowych, a uzywac biezacej funkcji systemowej, co najmniej dla tych architektur (np. sun4), dla ktorych istnieje zaleznosc PAGE_SIZE od modelu maszyny. W tym miejscu libc4, libc5 i glibc 2.0 zawodza, gdyz ich getpagesize() zwraca wartosc wyliczona statycznie, a nie korzysta funkcji systemowej. Wszystko jest OK w glibc 2.1. ZOBACZ TAKZE mmap(2), sysconf(3) TLUMACZENIE Autorami polskiego tlumaczenia niniejszej strony podrecznika sa: Andrzej Krzysztofowicz i Michal Kulach Niniejsze tlumaczenie jest wolna dokumentacja. Blizsze informacje o warunkach licencji mozna uzyskac zapoznajac sie z GNU General Public License w wersji 3 lub nowszej. Nie przyjmuje sie ZADNEJ ODPOWIEDZIALNOSCI. Bledy w tlumaczeniu strony podrecznika prosimy zglaszac na adres listy dyskusyjnej . Linux man-pages 6.06 31 pazdziernika 2023 r. getpagesize(2)