NSIS:浮点数运算

前言

NSIS自带的工具只能用IntOp进行整型运算,要进行浮点运算只能用FloatOp插件。

FloatOp插件的介绍

a.FloatOp插件下载
b.FloatOp的使用语法如:FloatOp::X $1 $2 $3
说明:
1.X可以取S(加法)或R9(减法)或M(乘法)或D(除法);
2.$1可以为常数或者变量($2一样),$3必须为定义的宏的引用(如${VAR_0},我用自己定义的变量都不到正确的运算结果);
3.在减(除)法中,$1为被减(除)数,$2为减(除)数;
4.用Push把计算的结果入栈,再用Pop保存到自己定义的变量中。

FloatOp插件的使用

a.把下载下来的压缩包解压并放到插件目录下,如:plugins;
b.在.nsi中添加插件目录,如:

!addplugindir  "plugins"

c.定义一个存储中间变量的宏(这里是参考官方例子,具体为什么要这么做,我也不是很清楚)和一个存储结果的变量,如:

Var m_fOperationResult
!define VAR_0 0 ;$0 这个宏用于储存浮点运算的中间结果

d.运算示例,如:

FloatOp::M 10 10 ${VAR_0}
Push $0
Pop $m_fOperationResult

猜你喜欢

转载自blog.csdn.net/chase_hung/article/details/82285054
今日推荐