DOSGER: искать за вас я его не буду. Гуглится по "Win 7 PAE". Но предупрежу, что патч этот - неофициальный. Можете скачать неизвестно что, неизвестно где, и неизвестно от кого. Так что слёт винды - самое хорошее, что может случится. Куда хуже - угон паролей, аккаунтов, личных данных и т.д.
DOSGER: поймите, всё зависит от вашего приложения. Если оно не требует оперативной памяти, она и не выделится. ОС никогда не будет запрещать выделять память, если свободная память есть. Если памяти нет - произойдёт исключение. И тут есть 2 варианта - либо ваше приложение упадёт с критической ошибкой, либо оно продолжит работать, но наверняка выведет какое-нибудь предупреждение. Что за приложение вы запускаете, если не секрет?
DOSGER: Приложение не сможет использовать максимум на 32 битной системе. Потому что часть оперативной памяти занято системой, драйверами, обработчиками прерываний и кучей неизвестных вам вещей, которые не могут быть выгружены в своп, что бы освободить память для приложений. Происходит это все по одной простой причине - все эти системные штуки как раз таки и обслуживают своп. Прибавьте сюда ещё активные приложения (антивирус, например, торрент, да даже браузер). Они тоже не будут выгружены в своп, потому что они постоянно что-то делаю.
DOSGER: Я не знаю как вы проводили тесты, но скажу одно. Windows 7 x86 без специального патча для ядра никогда и ни при каких условиях не может иметь больше 4 гигабайт оперативной памяти. По факту это выливается в 3.9 с копейками, т.к. часть адресного пространства резервируется для аппаратных нужд. Не верите мне? Вот вам официальный источник https://msdn.microsoft.com/en-us/library/windows/d...(v=vs.85).aspx#physical_memory_limits_windows_7
А с чего вы решили, что приложению непременно нужно 2 гигабайта? Приложение запрашивает память по мере необходимости. Например вы запускаете 3d-редактор. Там пустая сцена, и программа занимает 1 гигабайт оперативки. Но когда вы откроете там сложную модель, то программа может потребовать дополнительную память. Если система сможет выделить, что программа будет занимать хоть 2 хоть 3 гигабайта, в зависимости от сложности модели. Но если программе в данный момент не нужно столько памяти, память и не будет выделятся.
Но только размер измерений для всех элементов будет одинаковым. Т.е. двумерный массив - только прямоугольник (треугольник не выйдет), трехмерный - параллепипед, четырёхмерный - ну вы поняли :-).
Если вам нужны размерности разной длинны, то я бы посоветовал вам дерево (с неограниченным количеством потомков). Все потомки корня - элементы первой размерности. Все потомки первого элемента (из предыдущего списка) - как раз ответвление. А так, как в дереве список потомков может быть null, то можно делать структуры неправильной геометрической формы (образно).