编程时,我每天编译和测试应用程序可能数百次。此外,我用一夜之间将计算机置于睡眠模式,因此新系统启动时内存不会被清理。
通常情况下,我推迟解决内存泄漏问题,比如一周内的某一天。我的问题是,调试会话期间发生的内存泄漏是否会累积并影响整个系统的稳定性。或者,在调试应用程序退出后,操作系统是否会自动释放所有内存?
我在Visual Studio 2010,Windows 7 x64下用C ++开发。
答案 0 :(得分:4)
不,操作系统会在进程终止时清除。
答案 1 :(得分:3)
如果为Windows开发,则一个进程的内存将与另一个进程的内存隔离。非活动进程将其(非提交的)RAM页面刷新到磁盘,以便物理内存可用于活动进程。因此稳定性不会受到影响(除了操作系统中的孤立错误)。
控制较少的是其他资源泄漏,例如打开的手柄的数量,来自持有它们的泄漏物体。这些可能会导致系统不稳定。