Provided by: manpages-ru-dev_4.21.0-2_all bug

ИМЯ

       getpagesize - определяет размер страницы памяти

LIBRARY

       Standard C library (libc, -lc)

СИНТАКСИС

       #include <unistd.h>

       int getpagesize(void);

   Требования макроса тестирования свойств для glibc (см. feature_test_macros(7)):

       getpagesize():
           Since glibc 2.20:
               _DEFAULT_SOURCE || ! (_POSIX_C_SOURCE >= 200112L)
           glibc 2.12 to glibc 2.19:
               _BSD_SOURCE || ! (_POSIX_C_SOURCE >= 200112L)
           Before glibc 2.12:
               _BSD_SOURCE || _XOPEN_SOURCE >= 500

ОПИСАНИЕ

       Вызов  getpagesize()  возвращает  количество  байтов в странице памяти, где «страница» представляет собой
       блок фиксированной длины, единица измерения при выделения памяти и файлового отображения, выполняемого  с
       помощью mmap(2).

СТАНДАРТЫ

       SVr4,  4.4BSD, SUSv2. В SUSv2 вызов getpagesize() отмечен как УСТАРЕВШИЙ, и был удалён из POSIX.1-2001; в
       HP-UX такого вызова нет.

ЗАМЕЧАНИЯ

       В переносимых программах вместо getpagesize() следует использовать sysconf(_SC_PAGESIZE):

           #include <unistd.h>
           long sz = sysconf(_SC_PAGESIZE);

       (большинство систем позволяют использовать _SC_PAGE_SIZE вместо _SC_PAGESIZE.)

       В Linux системный вызов getpagesize() есть не на всех архитектурах. Если он есть, то он возвращает символ
       ядра PAGE_SIZE, чьё значение зависит  от  архитектуры  и  модели  компьютера.  Как  правило,  создаваемые
       двоичные файлы используются для всей архитектуры, а не для конкретной одной модели. Поэтому рекомендуется
       определять  PAGE_SIZE  не  на  стадии компиляции из файла заголовка, а при выполнении программы с помощью
       данной функции, по крайней  мере  на  тех  архитектурах  (таких  как  sun),  где  зависимость  от  модели
       существует.  В  этом случае в библиотечные вызовы glibc 2.0 завершатся неудачно, так как её getpagesize()
       возвращает статически определённое значение и не использует системный вызов. В glibc 2.1 это исправлено.

СМ. ТАКЖЕ

       mmap(2), sysconf(3)

ПЕРЕВОД

       Русский перевод этой страницы руководства был сделан Azamat Hackimov <azamat.hackimov@gmail.com>,  Dmitry
       Bolkhovskikh     <d20052005@yandex.ru>,     Vladislav     <ivladislavefimov@gmail.com>,    Yuri    Kozlov
       <yuray@komyakino.ru> и Иван Павлов <pavia00@gmail.com>

       Этот перевод является бесплатной документацией; прочитайте Стандартную общественную лицензию GNU версии 3
       или более позднюю, чтобы узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ.

       Если вы обнаружите ошибки в переводе этой страницы руководства, пожалуйста, отправьте электронное  письмо
       на man-pages-ru-talks@lists.sourceforge.net.

Linux man-pages 6.03                            5 февраля 2023 г.                                 getpagesize(2)