c – 当程序使用Ctrl-C中断时,动态分配的空间如何释放?
发布时间:2020-12-16 06:04:19 所属栏目:百科 来源:网络整理
导读:给出以下代码: #include stdio.hint main(){ int *p; p = (int *)malloc(10 * sizeof(int)); while(1); return 0;} 当上述代码被编译并运行,并在执行时按Ctrl C中断,分配给p的内存如何释放?这里的操作系统的作用是什么?而在C的情况下,如何使用新的运算符
给出以下代码:
#include <stdio.h> int main() { int *p; p = (int *)malloc(10 * sizeof(int)); while(1); return 0; } 当上述代码被编译并运行,并在执行时按Ctrl C中断,分配给p的内存如何释放?这里的操作系统的作用是什么?而在C的情况下,如何使用新的运算符呢? 解决方法
当进程终止时,操作系统将回收进程正在使用的所有内存.
即使当操作系统回收您的应用程序在其终止时使用的内存时,人们大量内存泄漏的原因是通常非平凡的应用程序将长时间运行缓慢地吞噬系统上的所有内存.对于非常短暂的程序来说,这不是一个问题. (但是你永远不会知道什么时候一个单线程将成为一个巨大的程序,所以即使在小程序中也没有任何内存泄漏.) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |