NSIS堆栈 Push,Pop用法详解
时间:2009-04-25 | 作者:本站整理 | 阅读:2071NSIS除了提供了变量$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'
........ ----中间代码*/
来源:本站整理
免责声明:文中图文均来自网络,如有侵权请联系删除,心愿游戏发布此文仅为传递信息,不代表心愿游戏认同其观点或证实其描述。
相关文章
更多大家都在玩
大家都在看
更多-
- 币安、OKX、Bybit、Gate.io费率大比拼
- 时间:2025-09-19
-
- 怎样才能知道自己抖音被限流了?被限流了花钱上热门有用吗?
- 时间:2025-09-19
-
- 快手春节活动红包提现到微信没有成年可以吗?怎么提现?
- 时间:2025-09-19
-
- 小红书私域引流怎么做推广?私域引流做推广怎么样?
- 时间:2025-09-19
-
- 波场发行量是多少 波场是哪年发行的
- 时间:2025-09-19
-
- 抖音的精选联盟怎么开通?精选联盟开通有什么用?
- 时间:2025-09-19
-
- 2025年抖音春节活动互动玩法有哪些?平台春节有福利吗?
- 时间:2025-09-19
-
- 小红书专业号行业资质怎么填?专业号行业怎么选?
- 时间:2025-09-19