找回密码
 点一下
查看: 2271|回复: 3

问个- -这个有没有泄漏饿

[复制链接]
发表于 2008-12-6 20:31:29 | 显示全部楼层 |阅读模式
= =RT饿

j.txt

55 KB, 下载次数: 9

发表于 2008-12-6 20:42:01 | 显示全部楼层
喂喂喂、LZ,不带这样的吧,你把整段J都发上来(还带globals的),是想让我们给你看泄漏么......我是没那个心情。
回复

使用道具 举报

发表于 2008-12-6 21:42:58 | 显示全部楼层
嗯,LZ,我提出几点意见吧。
第一,对于那些运行时只有一行的函数,你完全不需要特意的创建一个函数这么麻烦。举例来说吧。
[codes=jass]function Fallh takes handle h returns nothing
    call FlushStoredMission(udg_gc,I2S(H2I(h)))
endfunction
你使用Wehelper就可以这样来处理,
//! define Fallh(h) FlushStoredMission(udg_gc,I2S(H2I(h)))[/codes]

[codes=jass]function SetUnitAbilityPositionX takes handle h ,real x returns nothing
    call StoreReal(udg_gc, "UnitAbilityPositionX" , I2S(H2I(h)) , x )
endfunction
你可以使用
//! define SetUnitAbilityPositionX(h,x) StoreReal(udg_gc, "UnitAbilityPositionX" , I2S(H2I(h)) , x )[/codes]
之类的方法来简便处理。

第二。
[codes=jass]function LihhA takes handle h1 , handle h2 returns integer
    if GetStoredInteger(udg_gc, I2S(H2I(h1)) , I2S(H2I(h2)) ) != null then
        return GetStoredInteger(udg_gc, I2S(H2I(h1)) , I2S(H2I(h2)) )
    else
        return 0
    endif
endfunction [/codes]
这一类的函数中,如果相对应的位置未存储数据的话,其本身的返回值就是0,如此判断多此一举了。

第三。
在函数中创建了局域变量,如
local timer t
无论你在函数中是否对它进行了赋值,都应当在最后 set t=null,或者是在创建的时候
local timer t=null
例子是:[codes=jass]function RemovePauseTimed[/codes]

很抱歉我没有看完LZ所有的代码,但是如果这些用于简化自己工作的函数全部都是由LZ自己写的话,我的感觉是已经不错了。你只需要自己多多练习,多多实验,很多问题或者是解决方案都可以自己来发现了,关于排泄其实也不必太过苛求的。
回复

使用道具 举报

 楼主| 发表于 2008-12-7 11:04:28 | 显示全部楼层


个人感觉无问题

但是在玩的时候会出现弹出关闭饿 XXXX 不能read的现象- -
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-2 17:28 , Processed in 0.135854 second(s), 21 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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