我目前正在开发一个遗留应用程序(win32,Visual C++ 2005),它使用 LocalAlloc 分配内存(在我无法更改的提供的库中)。该应用程序在固定内存中保持非常大的状态(在开始时通过多次调用 LocalAlloc(LPTR, size) 创建)。我注意到在 Release模式下我用完了大约 1.8gb 的内存,但在调试中它愉快地超过了 3.8gb。我正在使用/3gb 开关运行 XP64。我需要增加应用程序中使用的内存,并且我在发布时达到了内存限制(调试工作正常)。有什么想法吗?
最佳答案
您可能具有与/LARGEADDRESSAWARE 链接的调试配置和与/LARGEADDRESSAWARE 链接的发布配置:NO(或完全缺失)。
在项目的配置属性中检查 Linker->System->Enable Large Addresses。
关于c++ - WIN32内存问题(debug/release的区别),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/949937/