linux C宏定义实现打印调试信息
来源:互联网 发布:网络违法行为查处 编辑:程序博客网 时间:2024/06/06 20:34
本文仅实现了三种宏定义调试
#define LOG(s) 日志显示(文件名:行号}+日志信息
#define ERROR(s) 错误信息位置(级别+文件名+函数名+行号+错误信息)
#define PrintArray2D(arr,m,n) 二维float数组按行列打印显示
代码如下:
#include <stdio.h>/** * 简单打印调试信息 */#define DEBUG 1#ifdef DEBUG //日志显示(文件名:行号}+日期 #define LOG(s) printf("[%s:%d] %s\n", __FILE__, __LINE__, s)//错误信息位置(级别+文件名+函数名+行号+错误信息) #define ERROR(s) \do{ \fprintf(stderr, "[ERROR at:]%s %s(Line %d): %s\n",__FILE__,__FUNCTION__,__LINE__,s); \}while(0) //二维float数组打印显示 #define PrintArray2D(arr,m,n) \do \{ \int i = 0; \int j = 0; \for(i=0;i<m;i++) \{ \ for(j=0;j<n;j++) \ { \ printf("%f ",arr[i][j]); \ } \ printf("\n"); \} \}while(0)#else //日志不显示 #define LOG(s) NULL //二维float数组打印不显示 #define PrintArray2D(arr,m,n) NULL //错误信息不显示 #define ERROR(s) NULL #endif
对此三种加上了条件编译判断,只有当DEBUG定义后,才显示具体错误信息,调试数组显示信息,否则一律为NULL,即不显示
当调试时,在该头文件上方加入:#define DEBUG 1 语句即可
当不调试改为发行版本时,注释该语句
当然,还应该有一个时间显示的宏,但由于需要加入头文件<time.h>,所以本次测试未测试该宏语句
读者可能在采用本代码时出现宏定义错误情况,出现错误原因可能是 接续符“\"没有严格为反斜杠
或者是位置错误引起的,此时在VC或者DEV环境下稍加调试即可
0 0
- linux C宏定义实现打印调试信息
- 宏定义实现调试信息的打印控制
- linux C下 利用宏函数打印调试信息
- C 打印调试信息的宏函数
- linux C中定义打印宏
- 宏定义实现程序中debug信息的打印
- 调试信息的宏定义:能够打印出文件名、函数、行数、日志,方便调试
- 一个方便打印C程序调试信息的宏
- c语言编码 调试信息打印方法
- 在linux启动过程打印调试信息
- Linux驱动调试手段:打印信息日志
- linux中使用backtrace打印调试信息
- 调试信息的宏定义
- 调试信息的宏定义 .
- C语言下调试信息打印与错误位置定位功能的实现
- 关于linux下c编程利用条件编译打印信息调试
- 标准c语言调试技巧,打印调试信息技巧
- c语言可变参宏函数实现打印Debug信息
- 博客迁移
- Switch结构的分析_20160225
- oracle计算时间差的问题
- 单例设计模式
- Process Stats:了解你的APP如何使用内存
- linux C宏定义实现打印调试信息
- jQuery中用来让元素显示和隐藏的函数
- 春风袭来之——挥去的2015
- 简单描述mysql中,索引,主键,唯一索引,联合索引的区别,对数据库的性能有什么影响(从读写两个方面)(新浪)
- ANDROID内存优化(大汇总——上)
- 顺序容器
- ANDROID内存优化(大汇总——中)
- C++面试题
- hdu 1075 翻译火星文 trie树 / map