崩溃或被迫退出后,C++动态分配的内存返回

C++ dynamic allocated memory return after crash or forced quit?

本文关键字:动态分配 内存 返回 C++ 被迫 退出 崩溃      更新时间:2023-10-16

我想知道程序崩溃或用户强制退出是否会将动态分配的内存返回到计算机。或者在系统重新启动之前内存会泄漏。

大多数现代操作系统会在进程终止后自动回收所有进程内存。通常,这是通过让操作系统从其页面表中逐出与进程相关联的所有虚拟页面来实现的。因此,除非您有一个旧的操作系统或遇到一个奇怪的操作系统错误,否则应该回收内存。

内存将被释放,动态分配是由操作系统管理的操作。

由于内存分页和分段,每个进程都将由操作系统分配其共享的内存页面,在进程终止时,这些页面将被标记为空闲,并在需要时由后续进程重复使用。