[問題] 請問一個 #define 的問題
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
linux
問題(Question):
#define PRINT_ERROR(fmt,arg...) printk("<<-PRINT-ERROR->> "fmt"\n",##arg)
#define DEBUG_ON 0
#define PRINT_DEBUG(fmt,arg...) do{\
if(DEBUG_ON)\
printk("<<-PRINT-DEBUG->> [%d]"fmt"\n",__LINE__, ##arg);\
}while(0)
程式碼如上
這種define的語法,如fmt與##arg的部分我不懂該如何用
書上也都只講最基本的用法
麻煩大大教學下,或哪有相關教學的網頁
我在寫code的時候try出一個現象
寫 PRINT_DEBUG("my message"); 沒問題
寫 PRINT_DEBUG("my message\n");
且 #define DEBUG_ON 0 時會系統出現一些我無法解釋的怪現象
#define DEBUG_ON 1 時又正常了
請問寫法是否有何問題?
--
無名困螻蟻,有名世所疑。中庸難為體,狂狷不及時。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 180.218.209.110
→
04/18 14:35, , 1F
04/18 14:35, 1F
推
04/18 16:43, , 2F
04/18 16:43, 2F
→
04/18 16:46, , 3F
04/18 16:46, 3F
推
04/18 16:53, , 4F
04/18 16:53, 4F
→
04/18 16:53, , 5F
04/18 16:53, 5F
推
04/18 16:57, , 6F
04/18 16:57, 6F
→
04/18 16:58, , 7F
04/18 16:58, 7F
→
04/18 16:59, , 8F
04/18 16:59, 8F
→
04/18 16:59, , 9F
04/18 16:59, 9F
→
04/18 17:00, , 10F
04/18 17:00, 10F