Можно ли использовать более 2 гигабайт памяти в 32-битной программе, запущенной в 64-битной Windows?
Да, это возможно. Для этого нужно сообщить компоновщику, что приложение может обрабатывать адреса больше 2 гигабайт - скомпилировать приложение с параметром /LARGEADDRESSAWARE. Теперь виртуальное адресное пространство для одного 32-разрядного процесса будет теоретически ограничено 4 гигабайтами оперативной памяти (на практике приложению будет доступно около 3.5 гигабайт). По умолчанию параметр /LARGEADDRESSAWARE выключен.
Библиографический список
- MSDN Library. /LARGEADDRESSAWARE (Handle Large Addresses).
- Обсуждение на сайте Stackoverflow.com. "Why 2 GB memory limit when running in 64 bit Windows ?"
- База знаний. Сколько памяти будет доступно приложению в Win32 и в Win64?
0