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

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

hunter90

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

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab

🚀 Первый раз на Codeby?
Гайд для новичков: что делать в первые 15 минут, ключевые разделы, правила
Начать здесь →
🔴 Свежие CVE, 0-day и инциденты
То, о чём ChatGPT ещё не знает — обсуждаем в реальном времени
Threat Intel →
💼 Вакансии и заказы в ИБ
Pentest, SOC, DevSecOps, bug bounty — работа и проекты от проверенных компаний
Карьера в ИБ →

HackerLab