对于64位系统上的32位应用程序(Windows 2003 SP2 x64,具体为2GB),malloc(我猜是虚拟堆?)的最大限制是什么?
我基本上是想把一个程序推到一个没有运气的程序之外。所以我想知道是否适用于Win x64位平台上的所有32位应用程序。
谢谢!
答案 0 :(得分:7)
您应该将应用程序与/LARGEADDRESSAWARE链接,以使应用程序可以使用超过2GB的应用程序。然后,在32位应用程序中,在64位操作系统上最多可以使用4GB。
答案 1 :(得分:1)
32位应用程序具有虚拟地址空间,允许在64位版本的Windows上处理高达4GB的空间。
MSDN上的Win32和COM Development doc中的4-Gigabyte Tuning部分解释了 / LARGEADDRESSAWARE 链接器开关。将其打开将允许32位应用程序最多可以处理4GB内存。
请参阅MSDN Library中的Memory Management section。使用WIN32内存管理服务功能可提供C运行时库中不可用的功能。您是否需要此功能取决于您。