问下关于内存相关的问题
时间:2011-08-25
来源:互联网
公司的程序有一个结构体,里面包含一些TStringlist,TLIST变量。
Delphi(Pascal) code
在程序登录的时候会分配一些空间。
Delphi(Pascal) code
但是在程序退出的时候并没有去释放这些变量。
这样也没有报错,对程序也没有影响。但是我自己用EurekaLog检测出大量的内存没有释放。
这样做是不是不合理的呢?记得说过什么程序退出就会自动释放这些内存所占的地址,是这样的吗?
还有一个问题,比如我NEW()了某个变量,这个我也没有释放,是不是程序退出的时候自己释放的呢?
Delphi(Pascal) code
PTest=^_Test; // 在系统参数 _Test=Record Stringlist:TStringlist; LIST:TLIST; END;
在程序登录的时候会分配一些空间。
Delphi(Pascal) code
Stringlist:=TStringlist.Create; LIST:=TLIST.Create;
但是在程序退出的时候并没有去释放这些变量。
这样也没有报错,对程序也没有影响。但是我自己用EurekaLog检测出大量的内存没有释放。
这样做是不是不合理的呢?记得说过什么程序退出就会自动释放这些内存所占的地址,是这样的吗?
还有一个问题,比如我NEW()了某个变量,这个我也没有释放,是不是程序退出的时候自己释放的呢?
作者: xiaofansong 发布时间: 2011-08-25
不用最好自己手动释放
作者: bdmh 发布时间: 2011-08-25
1 当然不合理
2 如果创建新窗体控件parent填入了非空,则在父控件释放时窗体空间会由父控件负责释放,另外栈上的分配空间好像是自动释放的,但仅适用于栈上的内容
3 不会的即便是结构,使用了new之后也是需要释放的
2 如果创建新窗体控件parent填入了非空,则在父控件释放时窗体空间会由父控件负责释放,另外栈上的分配空间好像是自动释放的,但仅适用于栈上的内容
3 不会的即便是结构,使用了new之后也是需要释放的
作者: funxu 发布时间: 2011-08-25
PS:另外,你们公司这个程序员好牛........
作者: funxu 发布时间: 2011-08-25
TO 楼上的,不合理是不是自己要手动去释放呢。
我问的程序退出会自动释放这句话是错误的吗?
ps:为啥这个程序员牛呢。
我问的程序退出会自动释放这句话是错误的吗?
ps:为啥这个程序员牛呢。
作者: xiaofansong 发布时间: 2011-08-25
程序退出时会自动释放
作者: sz_haitao 发布时间: 2011-08-25
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28