看板 TransCSI 關於我們 聯絡資訊
※ 引述《lccf (基因演算法)》之銘言: : ※ 引述《x0315b100 (飛來飛去)》之銘言: : : 請問各位大大... : : 所謂的macro是在compiler的時候把它展開以後 : : 下一次執行就不用再展開一次了嗎?? : : 否則...為什麼procedure怎麼會執行的比macro慢呢?? : : procedure不是只有控制權的轉移嗎??? : : 感謝各位大大回答~ : 一般比較常拿來比較 或是比較會考的是 subroutine 跟 macro : subroutine是副程式,也就是說今天主程式A執行到一半 程式碼呼叫 : macro(命名為巨集B) 則電腦會copy一份一樣的巨集 到你呼叫的那段程式碼那邊 : 所以電腦就省去跳躍過去的動作 : 但是缺點就是 因為你copy需要佔用記憶體空間 : 所以是 "省時 費空間" : 而副程式剛好相反 當你今天主程式呼叫到副程式時 : 整個會跳躍過去執行副程式寫的內容 等執行完 : 在return回來 : 所以也就是 "省空間 費時" : 這兩個剛好是對稱的 所以還蠻好記的 : 希望有幫助到你 當然有幫助摟...太感謝了!! 但是..又一個問題出現..procedure和subroutine差在哪裡呢?? 不都是副程式嗎?? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.195.49.58