AX宏Macros运算
生活随笔
收集整理的這篇文章主要介紹了
AX宏Macros运算
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
先給個(gè)例子
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));} }按照平常的變量計(jì)算邏輯,輸出結(jié)果應(yīng)該是
10,9,8,7,6,5
但實(shí)際的輸出結(jié)果是
9,8,7,6,6,6
這個(gè)就有點(diǎn)想不通了,第一句Print之前沒有執(zhí)行defdec,卻自減了,而for循環(huán)執(zhí)行了三次defdec,卻只減了一次?
這就是變量和常量的區(qū)別了
我們常用的是變量,導(dǎo)致用變量的思維來處理常量
正確的常量Macros計(jì)算并不是在運(yùn)行時(shí)計(jì)算的
很簡(jiǎn)單的測(cè)試,跟蹤一下這個(gè)腳本就會(huì)發(fā)現(xiàn),defdec根本就跟蹤不到,也就是沒有運(yùn)行
系統(tǒng)對(duì)Macros的計(jì)算處理是在編譯的時(shí)候就生成了
也就是說系統(tǒng)在編譯時(shí),見到defdec,就是對(duì)#test進(jìn)行了自減,生成新的常量
?
轉(zhuǎn)載于:https://www.cnblogs.com/rumenren/p/4929235.html
總結(jié)
以上是生活随笔為你收集整理的AX宏Macros运算的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 领域驱动和MVVM应用于UWP开发的一些
- 下一篇: [LeetCode]Remove Lin