выделить более 1 ГБ памяти на 32-битной XP

Я столкнулся со странной проблемой, мой процесс не может выделить больше, чем кажется, что немного ниже 1 ГиБ. В столбце диспетчера задач Windows «Использование памяти» отображаются значения, близкие к 1 ГБ, когда мое программное обеспечение выдаетbad_alloc исключение. Да, я проверил, что значение, переданное для выделения памяти, является разумным. (нет расы / коррупции, которая бы провалилась). Да, мне нужна вся эта память, и нет никакого способа обойти это. (Это буфер для изображений, который больше не может быть сжат)

Я не пытаюсь выделить всю 1 ГБ памяти за один раз, там несколько выделений около 300 МБ каждый. Это вызовет проблемы? (Я постараюсь выяснить, работает ли более небольшое выделение ресурсов лучше). Есть какой-то переключатель компилятора или что-то еще, что я должен установить, чтобы пройти 1 ГиБ? Я видел, как другие жаловались на ограничение в 2 ГиБ, что было бы хорошо для меня .. Мне просто нужно немного больше :). Я использую VS 2005 с пакетом обновления 1 (SP1), и я запускаю его на 32-битной XP, и это на C ++.

Ответы на вопрос(5)

Ваш ответ на вопрос