printk开关控制

来源:互联网 发布:易朴通讯 西安 知乎 编辑:程序博客网 时间:2024/04/29 13:41

为了调试控制打印输出方便
故对printf函数做如下处理

方法一:

#define PRINT_MLKK
#ifdef     PRINT_MLKK
           #define printm(info)   printf(info)   
#else
          #define  printm(info)      
#endif

方法二:

#define PRINT_MLKK
#ifdef     PRINT_MLKK

           #define printm(format,...)   printf("FILE:"__FILE__",LINE:%d:"format"\n",__LINE__,##_VA_ARGS__)   
#else
          #define  printm(format,...)      
#endif


备注:

通过 PRINT_MLKK 即可控制打印输出开关

对于方法一,
 printm(info) 只支持一个参数替换,因此不能打印变量 如 printm(“%d”,i);输出为错误数值。即只可以输出打印固定字符串。
方法二很好的解决了这个问题。


附:

编译器内置宏:
ANSI C标准中有几个标准预定义宏(也是常用的):
__LINE__:在源代码中插入当前源代码行号;
__FILE__:在源文件中插入当前源文件名;
__DATE__:在源文件中插入当前的编译日期
__TIME__:在源文件中插入当前编译时间;


0 0
原创粉丝点击