Файлы с отображением в памяти файла подкачки и куча - какая разница? - PullRequest
2 голосов
/ 05 ноября 2011

В чем преимущество использования отображенного в память файла, поддерживаемого системным файлом подкачки (через CreateFileMapping(INVALID_HANDLE_VALUE, ...), вместо обычного выделения памяти из кучи (malloc(...), HeapAlloc(...) и т. Д.)?

т.е. Когда я должен использовать какой?

1 Ответ

6 голосов
/ 05 ноября 2011

Это более низкий уровень, он дает вам больше, чем malloc делает:

  • Вы можете поделиться отображением с другими процессами (конечно, вам также нужно синхронизировать)
  • Вы можете установить разрешения для памяти (например, вы можете иметь постоянную память через PAGE_READONLY)
  • Вы можете установить некоторые параметры кэша / страницы
...