社区
C++ 语言
帖子详情
有关内存泄露没泄露的问题
thulongkang
2012-07-25 11:37:25
我使用VS2010来编写一段代码,其中涉及到动态内存的分配,例如int *pt=new int[100];但是没有写delete语句。
在debug模式(绿色按钮左边进行调整)下,我按F5,进行调试,如果我直接关闭黑框,那么编译器是不是会帮我回收这段内存?
在release模式(绿色按钮左边进行调整)下,我按F5,进行调试,如果我直接关闭黑框,那么编译器也是不是会帮我回收这段内存呢?求解释。
如果我没有进行调试,按ctrl+F5,是不是内存就泄露了啊?
...全文
157
12
打赏
收藏
有关内存泄露没泄露的问题
我使用VS2010来编写一段代码,其中涉及到动态内存的分配,例如int *pt=new int[100];但是没有写delete语句。 在debug模式(绿色按钮左边进行调整)下,我按F5,进行调试,如果我直接关闭黑框,那么编译器是不是会帮我回收这段内存? 在release模式(绿色按钮左边进行调整)下,我按F5,进行调试,如果我直接关闭黑框,那么编译器也是不是会帮我回收这段内存呢?求解释。 如果我没有进行调试,按ctrl+F5,是不是内存就泄露了啊?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
thulongkang
2012-07-26
打赏
举报
回复
楼上说得云里雾里的,没明白。
thulongkang
2012-07-26
打赏
举报
回复
楼上说得云里雾里的,没明白啊
赵4老师
2012-07-26
打赏
举报
回复
操作系统 之 进程管理
ACs_kaka
2012-07-26
打赏
举报
回复
回收机制是程序员必须要遵守的好习惯~
cbzjzsb123
2012-07-26
打赏
举报
回复
如果不是循环内存分配,一次分配最后不释放没关系,进程结束全部都会回收的(保护模式操作系统下)
所以,一些用完就退的软件干脆就不做擦屁股的工作
但是如果是dos这种系统,就会有问题
jjajun
2012-07-26
打赏
举报
回复
[Quote=引用 7 楼 的回复:]
引用 6 楼 的回复:
不管是debug模式还是release模式
程序在运行的时候用new 申请任意多少的内存,程序员自己负责在何时用delete 释放内存。
动态内存的生存期由程序员决定。
所以当你new出内存后,一定要记得free不然后导致内存泄露
我想说的是你对编译器了解太少了~
[/Quote]
lz是你自己了解太少了,ls说的都是对的。
只是你的new 进程退出之后,系统会帮你回收new出的内存的,和编译器没有任何关系。请不要和编译器拉上关系。
但是,如果你的进程没有退出,一旦你的new所在的函数被多次调用,那么就会发生内存泄露
thulongkang
2012-07-26
打赏
举报
回复
[Quote=引用 6 楼 的回复:]
不管是debug模式还是release模式
程序在运行的时候用new 申请任意多少的内存,程序员自己负责在何时用delete 释放内存。
动态内存的生存期由程序员决定。
所以当你new出内存后,一定要记得free不然后导致内存泄露
[/Quote]我想说的是你对编译器了解太少了~
红叶松林
2012-07-26
打赏
举报
回复
不管是debug模式还是release模式
程序在运行的时候用new 申请任意多少的内存,程序员自己负责在何时用delete 释放内存。
动态内存的生存期由程序员决定。
所以当你new出内存后,一定要记得free不然后导致内存泄露
wyfwx
2012-07-26
打赏
举报
回复
os回收回京城的内存
jackyjkchen
2012-07-25
打赏
举报
回复
如果不是循环内存分配,一次分配最后不释放没关系,进程结束全部都会回收的(保护模式操作系统下)
所以,一些用完就退的软件干脆就不做擦屁股的工作
但是如果是dos这种系统,就会有问题
imlab
2012-07-25
打赏
举报
回复
如果你new了后没有delete,在一般情况下会造成内存泄漏;
如果当这个所在new的进程关闭后,那么操作系统会帮助你释放掉该段内存。
你这里所说的,不是编译器帮你,而是操作系统帮你回收内存。
imlab
2012-07-25
打赏
举报
回复
如果你new了后没有delete,在一般情况下会造成内存泄漏;
如果当这个所在new的进程关闭后,那么操作系统会帮助你释放掉该段内存。
你这里所说的,不是编译器帮你,而是操作系统帮你回收内存。
vs2010
内存
泄露
检查工具
标题中的“vs2010
内存
泄露
检查工具”指的是Visual Leak Detector(VLD),这是一个为Visual C++编译器设计的插件,它可以在运行时检测并报告C++程序中的内存泄漏情况。VLD能够集成到VS2010的环境中,使得开发者可以...
内存
泄露
Demo leaky app
当我们谈论“
内存
泄露
Demo leaky app”时,我们指的是一个应用程序在使用内存后未能正确释放它,导致系统资源的浪费和可能的性能
问题
。下面将详细讨论
内存
泄露
、其对应用程序的影响以及如何检测和修复
内存
泄露
。 ...
内存泄漏检测工具leakdiag和配套图形化查看工具LDGrapher
LeakDiag是一个监测内存泄漏的工具,可以用来精确地找到
内存
泄露
一直到代码行。它使用微软的Detours 技术,拦截指定内存分配的调用并跟踪各种调用栈,并报告已分配但尚未释放的内存,这一信息允许让我们在排除一个...
C/C++什么是
内存
泄露
,
内存
泄露
如何避免?
C/C++什么是
内存
泄露
,
内存
泄露
如何避免?1. 内存溢出2. 内存泄漏3. 造成
内存
泄露
常见的三种情况3.1 指针重新赋值3.2 错误的内存释放3.3 返回值的不正确处理4. 如何避免
内存
泄露
?5.
内存
泄露
检测工具valgrind 1. ...
Java
内存
泄露
问题
详解
内存
泄露
指的是程序运行时未能正确释放不再使用的内存资源,导致这些内存资源无法被垃圾回收器回收和重新利用。
内存
泄露
会导致程序占用越来越多的内存,...
内存
泄露
可能是由于编程错误、资源管理不当或设计
问题
引起的。
C++ 语言
65,186
社区成员
250,526
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章