Я думал, что 32-битный процесс может использовать не более 2 ГБ ОЗУ, поскольку половина адресного пространства зарезервирована для ОС (возможно, 3 ГБ с переключателем / 3 ГБ). Однако StarCraft II удается использовать почти 4 ГБ, и это 32-разрядный EXE. Обозреватель процессов показывает:
4,000,896 KB private bytes
3,928,164 KB working set
Как это сделать и как я могу это сделать в моих собственных программах? Возможно ли это в .NET? В неуправляемом C ++? В управляемом C ++ как-то?