c - 无限循环中的内存泄漏

标签 c memory-leaks infinite-loop

如果您运行一个不断产生内存泄漏的程序,您的计算机会受到什么损害?

例如:

while(true)
{
    char* c = malloc(sizeof(char));
    c = NULL;
}

然后让该代码执行数小时或数天?

最佳答案

您可能一天都没有机会运行它。当系统停止您的程序时,未分配的主内存将很快达到阈值水平。在大多数情况下,操作系统会停止该进程,此时系统运行速度会变慢。最糟糕的部分是 -无法使用分配的内存,因为对它的引用已丢失

注意:泄漏的内存不会永久丢失。程序终止后系统会重置可用的物理内存。不是硬盘驱动器的内存。

关于c - 无限循环中的内存泄漏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29196448/

相关文章:

c - 为什么整数除以 -1(负一)会导致 FPE?

objective-c - 在没有回调的情况下将选择器分配给 Objective-C 中的 C 函数

android - LeakCanary 通过 locationlistener 的匿名实现报告泄漏的 Activity 实例

regex - Perl 程序在编译正则表达式时内存泄漏

android - EditText 导致内存泄漏

c++ - 非终止 constexpr 函数是否定义明确?

c - 幂为-3/2或-5/2的c语言pow函数的实现

C 函数 : is this dynamic allocation? 用变化的长度初始化数组

c++ - 异构数组实现

java - 为什么会出现无限循环?关于 BigInteger.remainder()