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