当前位置: 技术问答>linux和unix
讨论“内存泄漏”
来源: 互联网 发布时间:2015-07-06
本文导语: 1、请大家讨论一下内存分配管理的机制? 2、内存泄漏(由new,malloc产生而未释放的内存)是否仅在进程运行过程中才发生,在进程终止后是否还存在内存泄漏?我写了一个测试程序分配了一段内存未释放,再次执行...
1、请大家讨论一下内存分配管理的机制?
2、内存泄漏(由new,malloc产生而未释放的内存)是否仅在进程运行过程中才发生,在进程终止后是否还存在内存泄漏?我写了一个测试程序分配了一段内存未释放,再次执行此程序时,发现上次分配的空间中没有数据了。是不是它随程序退出释放进程空间时一起释放了。为什么?请大家讨论一下?
谢谢!
2、内存泄漏(由new,malloc产生而未释放的内存)是否仅在进程运行过程中才发生,在进程终止后是否还存在内存泄漏?我写了一个测试程序分配了一段内存未释放,再次执行此程序时,发现上次分配的空间中没有数据了。是不是它随程序退出释放进程空间时一起释放了。为什么?请大家讨论一下?
谢谢!
|
每次启动进程时分配的地址都不一样。你第二次执行此程序看到的内存空间已经不是上次启动时的空间了!所以你无法判断上次的空间是否已经被释放.
如果你要避免内存泄露,可以写一个垃圾收集器.
如果你要避免内存泄露,可以写一个垃圾收集器.
|
你看到的内存地址是虚拟内存地址每次是一样的,但是物理内存就不是这个样子的了。