作者:
gecer (gecer)
2017-06-18 19:08:23As the title , 小弟一直不解 Macro 跟function的差異 google搜尋到的僅是macro 是
preprecessor 不用定義type 小弟想更進一步了解 macro 跟function 對compiler會不
一樣嘛?
macro只是簡寫的感覺,preprocess過後會長回去
Macro只是純文字替換。Function則是進行函式呼叫,會建立call stack,進入函式時push參數列,離開函式時pop並且return 回傳值,program counter回到Return Address。兩者是不同的。
作者: jaid (jaid) 2017-06-18 20:42:00
macro由preprocessor處理,而不是compiler
作者: purpon (小強) 2017-06-19 23:37:00
Macro 只是文字替換吧。如果marco裡面有包函式,還是會有call stack
作者:
CoNsTaR ((const *))
2017-06-20 01:57:00C/C++ 的巨集可以看成是一種 inconsistant 的 metaprogramminglanguage
Macro怎麼處理 查一下gcc -E就知道了相信大多數人看到了輸出以後都會恍然大悟 (?)
作者:
CoNsTaR ((const *))
2017-06-20 23:57:00MOONRAKER thank you