写一个函数封装printf用作trace

转自http://blog.csdn.net/coder_weisong/article/details/10285291
 
 
写一个函数封装printf用作trace
 
方法一:
 
[cpp] view plain copy
 
 print?
  1. #include <stdio.h>  
  2. #include <stdarg.h>  
  3. void my_trace(const char *cmd, ...)  
  4. {  
  5.     printf("%s %s ", __DATE__, __TIME__);  
  6.     va_list args;       //定义一个va_list类型的变量,用来储存单个参数  
  7.     va_start(args,cmd); //使args指向可变参数的第一个参数  
  8.     vprintf(cmd,args);  //必须用vprintf等带V的  
  9.     va_end(args);       //结束可变参数的获取  
  10. }  
 
方法二:
[cpp] view plain copy
 
 print?
  1. #define DBG_PRINT (printf("%s:%u %s:%s: ", __FILE__, __LINE__, __DATE__, __TIME__), printf) 

下面是开启关闭调试方法

#ifdef _DEBUG
#define PRINT printf
#else
#define PRINT(...)
#endif

原文地址:https://www.cnblogs.com/fdd566/p/6502775.html