Как узнать размер фрейма страницы, используемого моей ОС?
Как узнать размер фрейма страницы, используемого моей ОС?
Это может быть полезно для некоторых оптимизаций, когда я пишу код. (Выделите большой буфер, который помещается, например, в рамку страницы).
Кадр страницы определяется операционной системой? У меня 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()
системный вызов).