c++ - WIN32内存问题(debug/release的区别)

标签 c++ c winapi

我目前正在开发一个遗留应用程序(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/

相关文章:

c++ - 适用于 emacs 的 C++ 的 google 样式文件

c++ - QtCharts——后台、前台显示

c - 如何使用 C 语言执行以下操作?

C - scanf() 接受两个输入而不是一个

c++ - 整数读取需要临界区保护吗?

c++ - 将响应保存到变量中的 libcurl HTTP 请求 - C++

c++ - 如何优化虚幻引擎 4 中 Actor 的生成?

c++ - C++ 的哪些特性在编译时特别占用资源?

windows - 关于 TEXTMETRIC 的一些奇怪之处

c++ - 主要变量类型在运行时确定的函数