寫程式.. 常常會用一個開關來控制debug message
通常會有幾種寫法。
通常會有幾種寫法。
1.用一個function包起來, 在function中決定訊息流向.
2.用定義來決定function
就程式而且,第二個方法速度快而且code size會比較小,除非有什麼其它需要,通常來說會用第二種。
第二種又有一些變型。 直接把目前覺得最棒的變形記下來。
在Makefie 中
void dbgprint(const char *format, ...)
{
va_list arg;
va_start(arg, format);
vsnprintf(rule_buf+strlen(CMD_NAME), BUF_SIZE, format, arg);
va_end(arg);
if(debug)
fprintf(fw_rule_fp,"%s\n",rule_buf);
}
{
va_list arg;
va_start(arg, format);
vsnprintf(rule_buf+strlen(CMD_NAME), BUF_SIZE, format, arg);
va_end(arg);
if(debug)
fprintf(fw_rule_fp,"%s\n",rule_buf);
}
2.用定義來決定function
#if 0
#define DBG printk
#else
#define DBG
#endif
#define DBG printk
#else
#define DBG
#endif
就程式而且,第二個方法速度快而且code size會比較小,除非有什麼其它需要,通常來說會用第二種。
廣告
第二種又有一些變型。 直接把目前覺得最棒的變形記下來。
#if DEBUG
#define DBG(args...) printk(args)
#else
#define DBG(args...)
#endif
#define DBG(args...) printk(args)
#else
#define DBG(args...)
#endif
在Makefie 中
CFLAGS += -DDEBUG
0 留言:
張貼留言
有話就說,才是真性情!