看板 C_and_CPP 關於我們 聯絡資訊
最近參加一個考試,其中有一題題目如下 下列何者不是巨集處理器的優點 1. 減少程式長度 2. 可重複使用 3. 提升程式的執行效率 4. 使程式容易瞭解 答案公佈為 3 但我認為是 1 我的看法如下: 巨集展開來後,程式會比用 function call 還大 因為不是用 function call,所以效率會比較好 不知是我的認知有錯還是答案是錯的,請問各位的看法如何 ? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.160.214.59
zlw:其實我想選4...四個都可以是優點吧 07/06 22:06
Ebergies:這答案應該可以算考試的標準答案 07/06 22:12
Ebergies:就算你寫 function 也會被 inline, 所以效率沒差 07/06 22:12
可是 inline 和 register 兩個 keywords 不是只有建議 compiler 嗎 compiler採不採用就要看裡面的演算法,不一定寫了就會採用
Ebergies:而且 "程式長度" 一般是指 code 長度, 即還沒展開前 07/06 22:13
我以為 program 就是程式,source code 就是程式碼
su31o4gj83:我也會從1跟3挑一個, 使用巨集是可以減少程式長度 07/06 22:14
su31o4gj83:但我不確定是否可以增加效率 07/06 22:14
su31o4gj83:我也是想到inline可以提升效率, 但不清楚可以好多少 07/06 22:17
Fenikso:我覺得他比較的基準不是巨集和function, 07/06 22:28
Fenikso:是巨集和手動copy&paste 07/06 22:28
Fenikso:所以不影響效率 07/06 22:28
你說的是 coding 的速度嗎 但我以為 3 是指程式跑起來的 performance ※ 編輯: CsAtPccu 來自: 218.160.214.59 (07/06 22:34)
Fenikso:是跑起來的performance啊, 但是不是macro跟function比 07/06 22:35
不好意思,中文造詣不好,可以麻煩解釋一下 "是巨集和手動copy&paste" 的意思:) ※ 編輯: CsAtPccu 來自: 218.160.214.59 (07/06 22:38)
Fenikso:我回個文好了XD 07/06 22:46
CsAtPccu:謝謝 07/06 22:47
謝謝這位網友回文 但如果以題目未說明的情況下 我把"程式"這詞當作是經過編譯處理產生出來的檔案應該也是可以 所以這題題目有語意不清!? ※ 編輯: CsAtPccu 來自: 218.160.214.59 (07/06 23:04)
james732:我也想選4耶...總覺得巨集好難懂 orz 07/07 02:56
ledia:用英文出題就不會有這麼多的模糊不清了 中文很曖昧的 XD 07/07 03:15