#include <stdio.h>
#define DVB_TIMER_DEBUG
#ifdef DVB_TIMER_DEBUG
#define RED_STR "\033[22;31m"
#define L_RED_STR "\033[01;31m"
#define BLING_STR "\033[5m"
#define BLING_RED_STR "\033[5;31m"
#define DEFAULT_STR "\033[0m"
#define dvb_timer_printf(...) do{\
fprintf(stderr, BLING_RED_STR"[%s][%s][%d]----", __FILE__, __func__, __LINE__);\
fprintf(stderr, __VA_ARGS__);\
fprintf(stderr, DEFAULT_STR);\
}while(0)
#else
#define dvb_timer_printf(...)
#endif
int main(void)
{
int ret = 5;
char *p="hello";
printf("start\n");
dvb_timer_printf("here to start ~~%s~~~%d\n", p, ret);
printf("end\n");
return 0;
}
在#define中,标准只定义了#和##两种操作。#用来把参数转换成字符串,##则用来连接两个前后两个参数,把它们变成一个字符串。
记录添加宏调试控制
最新推荐文章于 2024-01-16 07:00:00 发布