1. 程式人生 > >NSIS:浮點數運算

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