作者lccf (基因演算法)
看板TransCSI
标题Re: [问题] 关於macro和procedure的问题
时间Wed May 16 20:55:59 2007
※ 引述《x0315b100 (飞来飞去)》之铭言:
: 请问各位大大...
: 所谓的macro是在compiler的时候把它展开以後
: 下一次执行就不用再展开一次了吗??
: 否则...为什麽procedure怎麽会执行的比macro慢呢??
: procedure不是只有控制权的转移吗???
: 感谢各位大大回答~
一般比较常拿来比较 或是比较会考的是 subroutine 跟 macro
subroutine是副程式,也就是说今天主程式A执行到一半 程式码呼叫
macro(命名为巨集B) 则电脑会copy一份一样的巨集 到你呼叫的那段程式码那边
所以电脑就省去跳跃过去的动作
但是缺点就是 因为你copy需要占用记忆体空间
所以是 "省时 费空间"
而副程式刚好相反 当你今天主程式呼叫到副程式时
整个会跳跃过去执行副程式写的内容 等执行完
在return回来
所以也就是 "省空间 费时"
这两个刚好是对称的 所以还蛮好记的
希望有帮助到你
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 163.25.118.138
1F:推 x0315b100:procedure不是副程式吗??那..subroutine也是副程式? 05/17 15:21