AX宏Macros运算
生活随笔
收集整理的這篇文章主要介紹了
AX宏Macros运算
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
先給個例子
static void MacrosCalc(Args _args) {#define.test(10) #defdec.testint i;;print info(strfmt("%1",#test));#defdec.testprint info(strfmt("%1",#test));#defdec.testprint info(strfmt("%1",#test));for(i=1;i<=3;i++){#defdec.testprint info(strfmt("%1",#test));} }按照平常的變量計算邏輯,輸出結果應該是
10,9,8,7,6,5
但實際的輸出結果是
9,8,7,6,6,6
這個就有點想不通了,第一句Print之前沒有執行defdec,卻自減了,而for循環執行了三次defdec,卻只減了一次?
這就是變量和常量的區別了
我們常用的是變量,導致用變量的思維來處理常量
正確的常量Macros計算并不是在運行時計算的
很簡單的測試,跟蹤一下這個腳本就會發現,defdec根本就跟蹤不到,也就是沒有運行
系統對Macros的計算處理是在編譯的時候就生成了
也就是說系統在編譯時,見到defdec,就是對#test進行了自減,生成新的常量
?
轉載于:https://www.cnblogs.com/rumenren/p/4929235.html
總結
以上是生活随笔為你收集整理的AX宏Macros运算的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 领域驱动和MVVM应用于UWP开发的一些
- 下一篇: php中字符串分割函数