首先你得确定你访问的内存没有冲突
32位系统内部可以自行管理4GB以上的内存
但是你自己写的32位程序, 如果没有使用特殊的API, 那你访问的内存也就局限在 4GB 内
估计你的出错是因为在你程序可访问的内存段里没有这么大的空余内存了
你搜索一下如何在32位系统下编写访问超过4GB内存的程序咯

解决方案 »

  1.   

    楼上的,谢谢回复。我问的不是很清楚
    我的问题自己解决了问题是这样的,我确实建立了一堆1个g的内存文件。
    然后使用这些内存文件时出现的错误。
    由于win32只能管理4g,所以我建立了一堆1g的内存文件。win32知道这些内存文件的地址。一开始,我使用一堆地址指针访问这些1g的文件,整体上有24g,这样是不会成功的。
    失败的原因是windows会把建立映射的内存文件映射到自己的程序空间。于是24远大于4,肯定不成功。解决方案是,临时映射,用的时候映射这些内存文件。不用的时候,不管他。