在使用VirtualAlloc函数和WOW64之前,如何增加应用程序内存?

时间:2010-03-15 14:45:25

标签: 64-bit

我有在x86 32Win上运行的应用程序,我们使用从VirtualAlloc函数分配的1.2Gbyte内存(以防止页面错误)。

我真的想增加应用程序内存,所以我使用wow64(OS Exp 64Bit)在MSDVE 2008下重新编译了我的项目。

我尝试分配超过2Gbyte并且函数VirtualAlloc返回错误。

我甚至试图将标志LARGEADDRESSWARE设置为on,结果是一样的!

在使用VirtualAlloc函数和WOW64之前,如何增加应用程序内存?

1 个答案:

答案 0 :(得分:0)

您是否只对VirtualAlloc进行了一次调用?如果是这样,操作系统将需要返回一个连续的地址范围。

虽然LARGEADDRESSAWARE 32位exe可以在WOW64下访问完整的4GB地址空间,但这并不意味着你可以找到一块> 2GB的连续地址空间。

尝试为较小的块进行多次调用。