NSIS:浮點數運算
阿新 • • 發佈:2018-11-02
前言
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