<分区>
如果我在退出程序后没有使用 malloc
释放分配的内存,内存是否仍然分配?
它在 Ubuntu Linux 14 中运行。
<分区>
如果我在退出程序后没有使用 malloc
释放分配的内存,内存是否仍然分配?
它在 Ubuntu Linux 14 中运行。
最佳答案
理论上它是特定于平台的,但系统有可能在进程退出时回收进程分配的所有内存和其他资源。
所以,不,内存可能不会在程序退出后保持分配状态。但是请注意,如果您的程序长时间运行并泄漏内存,则其内存需求可能会变得非常高。你应该做出合理的努力来避免内存泄漏,而不应该仅仅依赖系统(最终)为你清理东西。
编辑:您更新的问题表明您在 Linux 上运行。当您的程序退出时,Linux 将清理您的进程分配的资源。
关于c++ - 理解 Malloc 实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17049050/