如题,但是却报错内存不可度,估计是没有可用虚拟内存。windows中每个程序不是有4G虚拟内存吗,为什么我才开了1G它就报错了?这个问题的可能解决办法如何?
解决方案 »
- 时间控件 是什么?
- 求解DirectUI的鼠标事件 ╮(╯▽╰)╭
- 如何判断CDHtmlDialog::Navigate已经完成?
- 关于Opengl里面的选择与反馈
- 请教关于CEDIT的问题
- 请问有什么好的辅助生成C++代码文档的工具?
- ondraw的一个奇怪现象
- 用鼠标按住dialog的caption然后拖动鼠标,系统会显示该dialog将会在新的位置的虚线框架,mouseup后dialog就移动到该虚线框架的位置,有没有办法不显示该虚线框架?因为我用了个多边形的dialog,虚线框架却还是原来的矩形。
- 我做的程序怎么什么操作都会使内存快速上升
- 如何由Labwindows/CVI生成DLL库给VC调用?
- 请高手解释,同步和异步的区别
- 请问:如何正确地在DLL中的一个导出的类的声明里加CSocket对象
堆的大小当然受系统实际内存限制。
如果真要开辟非常非常大的数组,就用VirtulAlloc,
理论上可以达到4G
理论上的内存值,和你机器硬件上的内存大小,还是有区别的。比如你机器有256内存,和512的虚拟内存,现有系统用去了200M内存,那你可以开辟的最大内存就是(512+256-200)M。考虑到内存的不连续性,实际上在这个系统中你可以new的内存块,一次也许不能超过200M。
2) Use the 3G option, possible rebase DLLs.
3) Use another process.
4) Use files on disk to load data into memory when it's needed.
5) Move to 64-bit machine.