Re: [問題] 巨集可以用for loop嗎?

看板C_and_CPP (C/C++)作者 (啤酒肚)時間15年前 (2011/05/13 12:55), 編輯推噓0(002)
留言2則, 2人參與, 最新討論串2/2 (看更多)
※ 引述《think12381 ()》之銘言: : 請問各位 我想用個巨集去包一個小函數 : 如下 : #define Set_wake_Timer (A)\ : { : for(k = 0; k<A; k++) \ : for(i = USB_WAKE_UP_PULSE*8; i>0; i--) \ : } : 之後我呼叫在一個函數中 : Set_wake_Timer(30); : 為什麼一直出現 syntax error near 'for' : ' =' : missing ; before '<' : 感謝各位 這樣寫 很不好: 假設補完跳脫字元 (\) 讓程式通過編譯 如下調用 Set_wake_Timer : int A; A = 20; : : Set_wake_Timer(A++); 這樣 Set_wake_Timer(A++)會被展開為: { for(k = 0; k<A++; k++) for(i = USB_WAKE_UP_PULSE*8; i>0; i--) } 每做個外循環 A的值都加一 就是迴圈永不結束 老實寫寫成函數吧 若是用C++ 可以多個 inline的關鍵字增加效能 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.120.158.204

05/13 12:58, , 1F
C99 就有 inline
05/13 12:58, 1F

05/13 13:57, , 2F
好愛c99解決很多c++轉到這來的麻煩,還有boolean
05/13 13:57, 2F
文章代碼(AID): #1DpBdREx (C_and_CPP)
討論串 (同標題文章)
文章代碼(AID): #1DpBdREx (C_and_CPP)