有关VS的编译问题

thulongkang 2012-07-11 09:36:09
一个程序中有指针动态分配内存,那么我在编译的时候(按F5),编译器是不是已经将该动态内存给分配好了,分配好了的话,如果有delete语句,那么编译结束时会不会把这段内存delete掉?如果我没有写delete语句,是不是即使在编译阶段也会造成内存泄露?还有,如果我没有通过编译(按F5),就直接运行,代码中如果有内存泄露问题是不是无法挽回了?
...全文
99 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
pathuang68 2012-07-13
  • 打赏
  • 举报
回复
1. 编译时,是绝对不会造成内存泄露的
2. 代码中如果有内存泄露问题是不是无法挽回了?
你把运行的程序关掉,内存就会被回收了。如果碰巧关不掉,重启机器就回收了。
thulongkang 2012-07-12
  • 打赏
  • 举报
回复
嗯,多谢多谢。
shen_wei 2012-07-12
  • 打赏
  • 举报
回复
debug 是调试版本
release是发布版本

debug和release 切换你可以在 VS中 绿色三角处做切换!!

F7 是编译,F5是编译+调试

你还是学学基本的VS操作!!
thulongkang 2012-07-12
  • 打赏
  • 举报
回复
惭愧惭愧,F5确实是调试~
说实话,编译和调试我没太搞清楚,能再说说么?
那个release在VS中是在什么地方?也是调试的一种?
W170532934 2012-07-11
  • 打赏
  • 举报
回复
我想楼主还没有搞清楚,动态分配内存是怎么回事情。肯定是要到运行阶段的时候才会进行分配内存的。F5不是调试吗?你的设置为编译了?还是你编译和调试分不清楚?如果有delete语句,执行完后动态分配的内存就会被释放了。如果你不写的话,在调试模式下,内存会被编译器给你回收,并且通知你有内存泄露。如果在release模式下就不会被删除了

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧