上网查,说内存泄漏指的就是分配的内存没有被释放,但是后面又解释说“”内存泄漏形象的比喻是"操作系统可提供给所有进程的存储空间正在被某个进程榨干",最终结果是程序运行时间越长,占用存储空间越来越多,最终用尽全部存储空间,整个系统崩溃。所以"内存泄漏"是从操作系统的角度来看的。这里的存储空间并不是指物理内存,而是指虚拟内存大小,这个虚拟内存大小取决于磁盘交换区设定的大小。 “”
随后又上网查虚拟内存,觉得是内存不够用时,硬盘当做内存用。
我不太明白,不free(),用完了这个,也不调用堆空间了,怎么会运行时间越长,占用存储空间越多呢。到底是哪一块(栈,堆,还是内核),介绍一下相关的书籍,我想看看,谢谢啦!
最近学到C语言堆,讲到了内存泄漏,但是不是很清楚,请给条明路
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-