找回密码
 点一下
查看: 1264|回复: 11

关于排泄的问题

[复制链接]
发表于 2008-2-22 12:38:57 | 显示全部楼层 |阅读模式
我的理解是
没有排泄是有无法释放的内存空间
也就是说 当我们用局部变量创建一个变量的时候,使用到最后要消除这个变量
function XXX takes nothing returns nothing
  local trigger trig = a
  local unit u = b
  local integer int = 0
            ...
            ...
            ...
            ...
            ...
  set trig = null
  set u = null
endfunction
是类似这个样子吧
但是整型和实型的变量该怎么办呢?
还有全局变量是不是就没有泄漏的问题了?
发表于 2008-2-22 12:48:51 | 显示全部楼层
handle类变量是需要排泄的,需要set null,如果这个变量的值不再被用到,需要清除(Remove或Destroy)
回复

使用道具 举报

 楼主| 发表于 2008-2-22 13:11:29 | 显示全部楼层
如果我把handle的变量直接清除了没有set null是不是没有排泄?
回复

使用道具 举报

发表于 2008-2-22 13:12:28 | 显示全部楼层
由于这个handle的引用数不为0,貌似是不会被释放的,也就是说可能还是有泄漏的
回复

使用道具 举报

发表于 2008-2-22 13:17:53 | 显示全部楼层
引用第2楼buu_peng于2008-02-22 13:11发表的  :
如果我把handle的变量直接清除了没有set null是不是没有排泄?


如果直接清除了 应该也就没法排泄了
回复

使用道具 举报

 楼主| 发表于 2008-2-22 13:20:10 | 显示全部楼层

谢谢 zhuzeitou大人
handle变量我要是 只set null,没有清除,就算是排泄了,那么这样影响释放内存么?
回复

使用道具 举报

发表于 2008-2-22 13:28:54 | 显示全部楼层
清楚只是在需要的时候
比如一个点要反复利用的,可以不清除,一旦再也不用了,那就清掉它
回复

使用道具 举报

发表于 2008-2-22 18:13:16 | 显示全部楼层
排泄
    排除代谢废物的过程称为排泄(excretion)。
    生物代谢产生的废物必须排出体外,否则将破坏内环境的稳定,导致中毒。如人患肾炎,排尿发生障碍,就出现尿中毒的症状。
    排泄的对象是细胞代谢废物,排泄过程一般都是耗能的。是由排泄器官完成的,人体过量的Ca2+和Fe2+是随粪便排出的,而这些离子以及细胞一些分泌物都是细胞代谢过程产生的,严格地说,这应属排泄而不是排遗。同理,肺排出CO2,肝排除胆汁,也都应属于排泄。
    排泄的过程同时也是保持体液稳定的过程。饭菜咸了要多喝水,结果尿多,而排尿的结果既排除了过多的水,也排除了过多的盐。
    动物的代谢废物主要是细胞呼吸产生的CO2和蛋白质等分子分解产生的含氮废物,如NH3、尿素、尿酸等。呼吸系统负责排出CO2。排泄系统则是排除含氮废物。
    植物没有排泄系统。植物能够利用无机氮,植物分解蛋白质而产生的含氮基团可在合成过程中反复使用。动物和植物不同,动物和人没有氨基酸库,不能储存作为能源之用的蛋白质或氨基酸。人和动物摄入的蛋白质除经消化,改造而成身体的建筑材料,供生长发育之用外,多余的蛋白质必须放出氨基,然后转化为糖原或脂肪,在细胞中储存,或进或加工后排出。
回复

使用道具 举报

 楼主| 发表于 2008-2-22 23:07:09 | 显示全部楼层
也就是说
handle类型的变量使用后要 set = null
删不删除看自己的习惯,不删除也不会占用内存的
全局handle变量一直占用内存 ,set = null后释放内存
我的理解对么?
回复

使用道具 举报

发表于 2008-2-22 23:10:41 | 显示全部楼层
晕。不知道jass里面是不是这样定义的。

只是把变量赋值null就是释放内存么???

local型的应该会自动释放内存的吧。
回复

使用道具 举报

发表于 2008-2-22 23:13:34 | 显示全部楼层
恩,貌似记得某位大人说jass的自动释放内存有问题,不用set null的话扔然会占着内存的………………
回复

使用道具 举报

 楼主| 发表于 2008-2-23 16:20:00 | 显示全部楼层
明白了些
谢谢各位大人
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 点一下

本版积分规则

Archiver|移动端|小黑屋|地精研究院

GMT+8, 2024-7-6 00:30 , Processed in 0.029787 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表