我的进程可用的虚拟内存量是32MB,尽管有更多的实际RAM。有没有办法(例如函数调用或项目属性)可以增加此限制?我发现极限......限制。
我正在通过调用GlobalMemoryStatusEx来查看用法。如果有什么东西可以设置dwTotalVirtual
成员那种有帮助的东西。
谢谢!
答案 0 :(得分:2)
不,没有办法增加它。对于任何支持的32个并发进程,Windows CE 5.0及更早版本都具有32MB的虚拟内存限制。它是内核的一部分。
现在值得一提的是,并非所有分配都来自32MB。从文档(和经验):
如果您使用dwSize> = 2 MB调用VirtualAlloc,将flAllocationType设置为MEM_RESERVE,并将flProtect设置为PAGE_NOACCESS,则会自动在共享内存区域中保留内存。这样可以保留每个进程的虚拟内存。
这意味着您可以在不影响32MB插槽限制的情况下使用VirtualAlloc大区域并使用它。