软件分类 文章中心 最新软件 热门软件 软件专题 软件排行 装机软件 软件厂商 文件类型 心愿壁纸
软件 教程 软件
你的位置:心愿下载软件教程教育教学 →NSIS堆栈 Push,Pop用法详解

NSIS堆栈 Push,Pop用法详解

来源:本站整理 发布时间:2009-04-25

NSIS除了提供了变量$0~$9,$r0~$r9来存放文字外,还有堆栈,
而通过Push和Pop这两个堆栈操作可以将一些数字或字符暂时存放到堆栈里面
下面是一个简单例子:

实现功能是保护某个变量的值
*/
SetCompressor /SOLID lzma
SetCompress force
XPStyle on
OutFile "aaa.EXE"
Name "aaa"
Section

StrCpy $0 10    ;将10赋给$0
MessageBox MB_OK '"$0-这是赋值得到的"'

Push $0            ;将10压入堆栈

StrCpy $0 5
MessageBox MB_OK '"$0-此时的值是"StrCpy $0 5"赋值得到的,刚才的存在变量$0的10已经覆盖了"'

Pop $0            ;将堆栈的数(刚才压进的10)弹出到$0

MessageBox MB_OK '"$0-这是堆栈弹出的"'

SectionEnd

/*
好,例子看完了,问什么说保护变量的值呢?
本来$0值是一个数X,X未知,设为原始状态,

不过某个时刻因为变量不够用,或者其他原因想使用$0这个变量,
但是$0的X或许以后还要使用,所以在开始使用$0前,将$0用Push $0放入堆栈
使用完后Pop $0,那样就能做到$0使用前后不变了

$0='aaaa' ----这是原始态
........    ----中间代码


Push $0    ----开始使用$0,将要改变他的值
StrCpy $0 5     ---现在改变了$0,如果没有PushPop,以前的'aaaa'就肯定会找不回来了
........    ----中间代码
Pop $0    ----使用完$0,还原他本来值


此时的$0就像没有上面的暂时调用一样.仍然延续原始态
MessageBox MB_OK '$0' ----显示'aaaa'

........    ----中间代码*/
 

上面的内容还满意吗?心愿下载小编为您推荐了下面的文章:

关键字:NSIS 堆栈
【上一篇】nsis入门精解教程
【下一篇】NSIS 宏的用法
相关文章(相关软件请在右侧查找)

文章评论

查看更多评论

用户名:

分 值:100分 85分 70分 55分 40分 25分 10分 1分

(评论将再审核后才能显示出来)

   评论摘要(共 0 条,得分 0 分,平均 0 分)

心愿下载是一个免费软件下载站,提供绿色软件,免费软件,手机软件,游戏下载,我们的目标是:让电脑软件改变学习和生活. 冀ICP备05025597号  

Copyright © 2006-2016 www.wishdown.com All rights reserved.