malloc

时间:2016-10-31 07:36:11

标签: malloc

如果我在不释放它们的情况下使用malloc连续分配内存,退出程序后内存会发生什么变化?操作系统是免费还是仍在分配?

1 个答案:

答案 0 :(得分:0)

通常是的。长话短说是的,它被释放了。

当您创建新进程时,操作系统正在为该特定进程分配内存块。在那个内存块中,你几乎分配了你想要的内存(函数,签名,变量等)。这些东西转化为下图:

Linux memory map with or without shared libraries

当进程终止时,整个内存块被回收。它可能需要一段时间才能循环使用,如果另一个过程开始非常快速的继续,将使用另一个块。如果不是这样的话。