Я использую Microsoft Visual C ++ 2008 Express, и у меня довольно неприятная проблема. В XP такого не происходит, но в Vista я не могу найти способ обойти это. Всякий раз, когда я объявляю переменные нединамически, если их объединенный размер превышает около 30 МБ, программа сразу после запуска вылетает. Я знаю, что Vista ограничивает приложения, отличные от Win32, до 32 МБ памяти, но я не думаю, что это моя проблема. Я использую компилятор Microsoft, и это происходит независимо от того, является ли это консольным приложением win32 или оконным приложением win32. Я просто заявляю, как ...
int foo[1000][1000]
... или любая комбинация переменных, приводящая к одинаковому размеру в любом месте, и это прощай приложение. Забавно то, что примерно в 25% случаев он запускается, хотя эта ошибка существует. Я что-то упустил здесь из-за фундаментального программирования? Является ли статическое распределение устаревшим? Мне придется переделывать все приложение, чтобы использовать динамическое распределение?