菜鸟求助:程序结束后 申请的动态空间会不会自动释放啊?

Kai_gai 2011-06-15 09:57:48
能详细介绍一下就更好了 烦请大家帮忙
...全文
699 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
5t4rk 2011-06-15
  • 打赏
  • 举报
回复
不会的
你自己申请的用完,就手动去释放
不然的话,直到真个程序结束的时候
它才会被释放的
luciferisnotsatan 2011-06-15
  • 打赏
  • 举报
回复
程序结束后,会收回分配给程序的所有资源。

但必须养成自己释放的习惯,不然有你苦的。
ace99999 2011-06-15
  • 打赏
  • 举报
回复
不会的!
自己动态申请的,必须自己释放,否则会在系统关闭后释放,而不是程序结束就释放了吧!
程序自己占用的内存才会在程序结束后释放!
liuhex 2011-06-15
  • 打赏
  • 举报
回复
不会,你要自己释放。对于new申请的要用delete释放。malloc申请的用free释放。
AnYidan 2011-06-15
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 bdmh 的回复:]
整个程序结束后,所有资源都会释放
[/Quote]

os 会追讨欠款
如此美丽的你 2011-06-15
  • 打赏
  • 举报
回复
进程结束了,内存全部释放,申请的空间自动释放。
手动释放是一个好习惯。因为对于常驻内存的程序,比如一些拥有死循环的后台服务,如果完全依赖程序结束后的自动释放,那显然是一个灾难,因为该服务运行不了太长时间就会耗尽内存而崩溃。
机智的呆呆 2011-06-15
  • 打赏
  • 举报
回复
会。每个进程都有自己的堆,动态申请的内存来自于进程堆。进程结束了,进程中所维护的堆所占的资源会释放的。建议lz找本 windows核心编程 看看吧
aozhi 2011-06-15
  • 打赏
  • 举报
回复
进程结束了,内存全部释放,申请的空间自动释放。
手动释放是一个好习惯。因为对于常驻内存的程序,比如一些拥有死循环的后台服务,如果完全依赖程序结束后的自动释放,那显然是一个灾难,因为该服务运行不了太长时间就会耗尽内存而崩溃。
ryfdizuo 2011-06-15
  • 打赏
  • 举报
回复
malloc申请的内存必须显式free。
指针变量是自动变量会自己析构,但是指针指向的堆内存不会自动释放。
c_losed 2011-06-15
  • 打赏
  • 举报
回复
如果是new或malloc申请的 最好使用delete或free进行释放掉
虽然程序退出后 也可以释放 但会造成内存泄露
恨天低 2011-06-15
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 namelij 的回复:]

不会

不过在你的应用程序结束之后,操作系统会帮你释放。
但如果程序没结束,则动态内存一直都在,不会被释放
[/Quote] +1
  • 打赏
  • 举报
回复
不会

不过在你的应用程序结束之后,操作系统会帮你释放。
但如果程序没结束,则动态内存一直都在,不会被释放
ryfdizuo 2011-06-15
  • 打赏
  • 举报
回复
不会,必须程序员自己释放。
bdmh 2011-06-15
  • 打赏
  • 举报
回复
整个程序结束后,所有资源都会释放

70,037

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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