Я столкнулся с нечетной проблемой, мой процесс не может выделить больше, чем кажется чуть ниже 1 гигабайта. Диспетчер задач Windows "Mem Usage" показывает значения, близкие к 1 GiB, когда мое программное обеспечение предоставляет исключение bad_alloc
. Да, я проверял, что значение, переданное в распределение памяти, разумно. (не существует никаких условий гонки/коррупции, которые сделают это неудачным). Да, мне нужна вся эта память, и вокруг нее нет никакого способа. (Это буфер для изображений, который не может быть сжат дальше)
Я не пытаюсь выделить целую 1 гигабайтную память за один раз, там есть несколько распределений по 300 Мбайт каждый. Это вызовет проблемы? (Я попытаюсь посмотреть, улучшится ли создание более мелких распределений). Есть ли какой-нибудь компилятор или что-то еще, что я должен установить, чтобы пройти 1 гигабайт? Я видел, как другие жаловались на лимит 2 гигабайт, что было бы хорошо для меня.. Мне просто нужно немного больше:). Я использую VS 2005 с пакетом обновления 1 (SP1), и я запускаю его на 32-разрядной версии XP и на С++.