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

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

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

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

1 ответ

Решение

Если вы просто используете 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)

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

mtak@frisbee:~$ getconf PAGESIZE
4096

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

Другие вопросы по тегам