• 微信号
  • 微信号
您当前的位置:首页 > 学海无涯 > 茑语花香>用C语言写一个内存泄露的例子,让计算机内存爆满

用C语言写一个内存泄露的例子,让计算机内存爆满

孤峰 孤峰家 2023-06-16 138人阅读

操作系统允许程序自己分配内存?并自由使用?使用完了还可以再释放掉?将内存归还给计算机。

所谓分配内存?就是程序向计算机申请一块内存空间?然后自己使用?所谓释放内存?就是程序告诉计算机不再使用之前的内存空间了?需要归还给计算机?让其它程序使用

如果一个程序不停地分配内存?而不释放内存?那么拥有的内存就会越来越多?计算机内存就会被消耗殆尽?其它程序能够使用的内存越来越少?整台计算机就会都变得缓慢?甚至卡死?这就是内存泄露?Memory leak?。

下面我们就用 while 循环来写一个内存泄漏的例子?

while 循环的条件是 1=始终成立=循环会一直进行下去=永无休止=所以是一个“死循环”。

每次循环=程序都会向计算机申请 1024 个字节=1KB=的内存=并且不会释放=循环到第 1024 次时=程序就占用了 1024*1024 个字节=1MB=的内存=循环到 1024*1024 次时=程序就占用了 1024*1024*1024 个字节=1GB=的内存。

不要害怕=亲自跑一下试试=打开 Windows 下的任务管理器=可以看到内存的使用率会飙升=稍等片刻后程序会被终止。Windows 的内存管理机制发现我们的程序占用内存太多=会让它崩溃=防止系统卡死=其它的操作系统也有相应的措施=。

内存泄漏是C语言程序很常见的一个问题=当程序规模比较大时=有时候找到这个 Bug 就变得很困难=所以大家一定要养成良好的内存使用习惯=及时释放不再使用的内存。本节仅仅是一个简单的演示=我们还会在《C语言内存精讲》专题中深入讲解。

转载:感谢您阅览,转载请注明文章出处“来源从小爱孤峰知识网:一个分享知识和生活随笔记录的知识小站”。

链接:用C语言写一个内存泄露的例子,让计算机内存爆满http://www.gufeng7.com/niaolang/419.html

联系:如果侵犯了你的权益请来信告知我们删除。邮箱:119882116@qq.com

标签: