c++ - 理解 Malloc 实现

标签 c++ memory operating-system malloc

<分区>

如果我在退出程序后没有使用 malloc 释放分配的内存,内存是否仍然分配?

它在 Ubuntu Linux 14 中运行。

最佳答案

理论上它是特定于平台的,但系统有可能在进程退出时回收进程分配的所有内存和其他资源。

所以,不,内存可能不会在程序退出后保持分配状态。但是请注意,如果您的程序长时间运行并泄漏内存,则其内存需求可能会变得非常高。你应该做出合理的努力来避免内存泄漏,而不应该仅仅依赖系统(最终)为你清理东西。

编辑:您更新的问题表明您在 Linux 上运行。当您的程序退出时,Linux 将清理您的进程分配的资源。

关于c++ - 理解 Malloc 实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17049050/

相关文章:

c++ - 为什么在出现注释时忽略这个简单程序中的条件?

创建指向内存地址的符号链接(symbolic link)。 (剧透 : Stripe CTF contest)

multithreading - 信号量的初始值有什么意义?

c - 这些 fork() 语句创建了多少个进程?

c++ - 像素转换为原始位(位流)

c++ - 由于类型不匹配,无法将一个指针分配给另一个指针,或者编译器这样说

c++ - 使用 vector 进行 gsl 线性拟合

php - 使用有限的内存处理来自 mysql 的大型结果集

javascript - JS中频繁调用函数初始化数组的效率

windows - 假设路径 C :\WINDOWS\system32 always exists? 是否安全