• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

Как Выделить Память Большого Размера

  • Автор темы hunter90
  • Дата начала
H

hunter90

Нужно одним вызовом(по другому никак) оператора new[] выделить 1,5-2 гига памяти, но под win7 х32 такое проделать невозможно - выдает ошибку, хотя на компе 4 гига оперативы стоит... как все-таки заставить винду или кого там нужно, чтобы сделать задуманное?
 
G

grigsoft

Рихтера стоит почитать..
Все адресное пространство в 32битах - 4Гб, из них верхние 2ГБ резервируется для нужд системы (туда загружаются системные библиотеки, там таблицы хендлеров и описания процесса и т.п.), несколько нижних самых страниц закрыто от доступа. Для нужд приложения остается меньше 2 ГБ, в которые грузятся их код и данные. С учетом менежеров памяти и фрагментации, обычно даже одного фрагмента в 1ГБ вряд ли удастся получить. Поэтому в том виде как задача сформулирована, оно решения не имеет на х32. Обычно это говорит о том что вы неправильно решаете основную задачу. Может быть Memory Mapped File помогут?
 
V

VerhoLom

Или написание драйвера, который выстраивает таблицы страниц для памяти, выше 3,75 гб.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!