您的位置:首页 > 其它

printk开关控制

2017-04-26 17:43 381 查看
为了调试控制打印输出方便

故对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__:在源文件中插入当前编译时间;


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  printf开关