找回密码
 点一下
查看: 2168|回复: 7

全局变量和局部变量对于系统资源的占用

[复制链接]
发表于 2008-5-3 08:28:29 | 显示全部楼层 |阅读模式
我想知道哪个比较严重
听说局部变量使用时要申请内存么?
        全局变量载入慢么?

哪种变量在开始游戏后对于系统负担小一些?(我的全局变量都是用数组1个单位1个,1个技能1个,所以无视传染)
发表于 2008-5-3 08:54:02 | 显示全部楼层
局部的话用完就会销毁
全局的话一直存在 而且会增加耦合度 造成麻烦
回复

使用道具 举报

发表于 2008-5-3 17:19:19 | 显示全部楼层
其实掌握得好的话,完全可以使用暴雪给你定义好的全局变量代替一些局部变量来使用
例如 你要做循环,计数器就用bj_forLoopAIndex
要创建临时单位,就用bj_lastCreatedUnit
还有更深一点的,当使用ForGroup之类的选取单位组做动作的函数一般情况下无法给要做的动作函数传递参数
此时可以利用全局变量来进行参数的传递
魔兽的线程同步似乎是很安全的,基本上可以放心使用
当然了~~以上的前提是这些全局变量的使用不能在有使用"等待函数" 计时器等有延迟的函数里~
回复

使用道具 举报

发表于 2008-5-3 18:34:38 | 显示全部楼层
所以说局部变量的用处还是很大的,记事器是个常用的东西呢
全局变量从游戏开始到结束都存在,局部变量使用后便销毁
回复

使用道具 举报

发表于 2008-5-3 19:10:48 | 显示全部楼层
个人认为其实都删不掉
全局是封杀接口
局部是无法调用
其实都占用了无法释放.........只是大小有区别........
回复

使用道具 举报

发表于 2008-5-4 18:58:11 | 显示全部楼层
意思局部是自动销毁?
全局要手动?

越看越糊涂~说法是如此的多而杂而乱~
回复

使用道具 举报

发表于 2008-5-4 19:05:15 | 显示全部楼层
局部变量不会自动销毁
jass没有完善的垃圾清理机制,所有的都要自己来
回复

使用道具 举报

发表于 2008-5-5 02:26:37 | 显示全部楼层
好吧。。。。
我做了个实验
全局变量十个     局部变量十个
蔟数无变化        蔟数无变化        (FAT32)
所以实际预留内存是一样的   
至于效率      全局变量的效率比局部肯定低的说
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-10 04:14 , Processed in 0.109866 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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