看板 C_and_CPP 關於我們 聯絡資訊
※ 引述《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
loveme00835:C99 就有 inline 05/13 12:58
angleevil:好愛c99解決很多c++轉到這來的麻煩,還有boolean 05/13 13:57