2

Как узнать размер фрейма страницы, используемого моей ОС?

Это может быть полезно для некоторых оптимизаций, когда я пишу код. (Выделите, например, большой буфер, который помещается в рамку страницы).

Кадр страницы определяется операционной системой? У меня Windows 7 (но найти информацию о ней в Google невозможно). Так что, может я ошибаюсь ...)

1 ответ1

3

Если вы просто используете Windows, вы можете использовать следующий фрагмент кода C, чтобы получить размер страницы:

#include <stdio.h>
#include <windows.h>

int main(void) {
    SYSTEM_INFO si;
    GetSystemInfo(&si);

    printf("The page size for this system is %u bytes.\n", si.dwPageSize);

    return 0;
}

(от: http://en.wikipedia.org/wiki/Page_%28computer_memory%29#Windows-based_operating_systems)

В Linux вы можете узнать размер страницы, получив параметр конфигурации PAGESIZE из ядра:

mtak@frisbee:~$ getconf PAGESIZE
4096

(или вы можете использовать системный вызов getpagesize() ).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .