2010-02-08 147 views
4

對於64位系統上的32位應用程序(Windows 2003 SP2 x64),malloc(虛擬堆我猜?)的最大限制具體)2GB?64位系統上的32位應用程序的內存分配限制

我基本上是試圖推動一個程序超越,沒有運氣。所以我想知道這是否適用於Win x64位平臺上的所有32位應用程序。

謝謝!

回答

7

您應該將您的應用程序與/LARGEADDRESSAWARE鏈接起來,以使應用程序可以使用2GB以上的應用程序。然後,您可以在32位應用程序的64位操作系統上使用高達4GB的內存。

1

32位應用程序具有虛擬地址空間,允許在64位版本的Windows上尋址最高達4GB的地址空間。

MSDN上的Win32和COM Development doc中的4-Gigabyte Tuning部分解釋了/LARGEADDRESSAWARE鏈接器開關。將其打開將允許32位應用程序尋址高達4GB的內存。

請參閱MSDN Library中的Memory Management section。使用WIN32內存管理服務功能提供了C運行時庫中不可用的功能。無論您是否需要此功能取決於您。

相關問題