社区
Delphi
帖子详情
内存泄漏会把操作系统破坏吗
Undead_bxg
2007-05-29 10:39:43
我的软件有内存泄漏,是不是大的内存泄漏问题会把操作系统影响到系统出错或不能重启的地步呢?
...全文
387
9
打赏
收藏
内存泄漏会把操作系统破坏吗
我的软件有内存泄漏,是不是大的内存泄漏问题会把操作系统影响到系统出错或不能重启的地步呢?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
DelphiFans
2007-05-29
打赏
举报
回复
破坏系统,可能性小.和别的软件会造成冲突
bpmb2
2007-05-29
打赏
举报
回复
会让系统越来越慢,我们以前一个程序就是这样的。
sdzeng
2007-05-29
打赏
举报
回复
这种环境问题谁能知道啊,
装一个干净的系统,只装你的软件,
测试一下就知道了
Undead_bxg
2007-05-29
打赏
举报
回复
好的,了解了,谢谢,内存泄漏的后果并不会使计算机损坏。
supercc
2007-05-29
打赏
举报
回复
我以前写过一段实现内存泄漏的
在一线程里
var
tmp:TObject;
begin
while true do
begin
tmp:=TObject.Create;
end;
end;
没有发生什么特别的事情,就看到内存在疯涨,然后系统提示内存不足,最后重启
supercc
2007-05-29
打赏
举报
回复
绝对不会,最多机器重启!!!
enlightenment
2007-05-29
打赏
举报
回复
一点个人见解:
对于完善的操作系统(包括从硬件CPU的虚拟内存、核心运行级别 到 软件的操作系统内核、用户运行模式),应当具备能力在进程运行出现内存泄漏、内存非法访问后采取措施弥补。
当前主流的(带虚拟内存、核心运行级别)的芯片、操作系统,至少能够完成在程序终止后,负责清除、释放与该进程相关的所有内存页表以及相关资源,并提示用户出错。而对于用户软件运行中产生的内存泄漏,操作系统并无特殊处理,而只是容忍(因为系统无法分辨资源使用是否得当),直至累积错误导致系统性能下降(譬如虚拟内存太大导致磁盘交换页操作消耗了系统的大部分资源),此时的解决办法是——加大内存。操作系统则认为自己对此并无责任,但个人觉得——系统至少可以在发生此类情况时,提前给用户提示(类似防火墙)。
而新的系统平台(如Java和.Net)则进一步的改进了内存管理的功能。利用智能指针、引用计数等方法来搜集不再被使用内存并选择时机释放,从而规避了内存泄漏的风险。但带来的副作用则是系统开销加大以及导致应用程序的实时性能下降。
brightyang
2007-05-29
打赏
举报
回复
应该不会..
不过可能会造成可用内存减小
到最后重起
zhao_yong
2007-05-29
打赏
举报
回复
把程序改爲不內存泄漏不就可以啦!
C++第3课:C++内存泄露检测原理及案例实战
本课程具体的内容主要包括C++内存泄露案例、VS2015内存泄露检测、野指针、VirtualAlloc/HeapAlloc/malloc/new的区别、C++堆和栈的内存管理、栈简介、堆简介、堆与栈区别、栈的内存分配、Windows的虚拟内存技术、...
野指针和
内存泄漏
野指针可能
会
造成
内存泄漏
,
内存泄漏
不一定就是野指针造成的(注,野指针不是一定
会
造成
内存泄漏
,如果它随机指向的是一个变量地址,则就不
会
造成
内存泄漏
了)
内存泄漏
: 定义:程序中已动态分配的堆内存由于某种原因,程序未释放或无法释放,造成系统内存的浪费,导致程序运行速度减慢甚至系统崩溃等严重后果 造成
内存泄漏
的原因有两点:对象没有被释放、循环引用 野指针: 定义:如果内存已经释放,而指针还在引...
谈谈Java中的内存溢出和内存泄露问题
内存溢出(OOM)是指可用内存不足。程序运行需要使用的内存超出最大可用值,如果不进行处理就
会
影响到其他进程,所以现在
操作系统
的处理办法是:只要超出立即报错,比如抛出内存溢出错误。就像杯子装不下,满了要溢出来一样,比如一个杯子只有500ml的容量,却倒进去600ml,于是水就溢出造成
破坏
。
内存泄漏
(Memory Leak)是指本来无用的对象却继续占用内存,没有再恰当的时机释放占用的内存。不使用的内存,却没有被释放,称为
内存泄漏
。也就是该释放的没释放,该回收的没收回。
内存泄漏
、内存溢出、内存越界、段错误、堆溢出、栈溢出
内存泄露
内存泄漏
(memory leak)是应用程序分配某段内存后,由于疏忽或者错误,失去了对该段内存的控制,因而造成了内存的浪费。 或者可以说向系统申请分配内存进行使用(new),但是用完后不归还(delete),导致占用有效内存。 简而言之:调用了malloc/new等申请内存的操作,但是缺少了对应的free/delete操作。 内存溢出 内存溢出就是要求分配的内存超出了系统所给的。要求的超出分配的。 主要有:堆溢出、 栈溢出、内存永久保护区溢出 内存溢出原因: (1)内存中加载的数据量过于庞大,
内存碎片与
内存泄漏
内存碎片、
内存泄漏
Delphi
5,388
社区成员
262,730
社区内容
发帖
与我相关
我的任务
Delphi
Delphi 开发及应用
复制链接
扫一扫
分享
社区描述
Delphi 开发及应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章