define DBG_PRINTF(…)
//#define DBG_PRINTF printf - 未注释这行时,进行printf打印;注释后不打印 —— 不知道对不对
- 使用宏定义来封装一个宏打印函数,这个宏打印函数可以显示打印信息所在的文件、行数、函数名等信息
通常情况下,一些打印调试信息只是在我们调试阶段需要的,在程序发布阶段是不需要的。
所以,为了避免打印调试信息带来的资源开销,我们可以把这些打印调试语句给注释掉。
一种方法是逐句进行注释,这是一种比较低效的方法。比较高效的方法就是添加调试宏开关,利用条件编译来选择打印/不打印调试信息。
# defineDEBUG 1
# if DEBUG
# defineDBG_PRINTF(fmt, args...)
{
printf( "<<File:%s Line:%d Function:%s>> ", __FILE__, __LINE__, __FUNCTION__);
printf(fmt, ##args);
}
# else
#define DBG_PRINTF(fmt, args...)
# endif