我有一个C ++图形应用程序,可以对模型进行繁重的计算。有一个leak or two,我已经追溯到CG和/或我的ATI显卡(我100%确定!!)。我的机器有16 GB RAM,当我使用4.49 GB RAM(TOTAL系统使用,app只使用~1.9GB)时,vector.resize()开始返回0个新元素而无法调整数组大小。为什么这么快?
答案 0 :(得分:3)
(Windows Assumed)
32位Windows应用程序限制为大约2.0 GB的用户模式内存(如果设置了某些启动时参数,则为3.0 GB)。如果你的应用程序耗尽了1.9 GB的内存,那么它就会干涸。
参考:http://msdn.microsoft.com/en-us/library/windows/desktop/aa366778(v=vs.85).aspx#memory_limits
答案 1 :(得分:1)
我将构建配置更改为x64,应用程序正常运行
答案 2 :(得分:0)
抛出异常! 当然,最好找到并标记泄漏,但是当你的内存不足时:异常!为了更加冷静,请重新启动您自己的应用程序。