__FILE__ __LINE__ C++ 宏定义 调试
2013-03-26 11:23
204 查看
参考博文:http://www.cnblogs.com/lixiaohui-ambition/archive/2012/08/21/2649052.html
自定义宏定义,来控制printf输出调试信息。
1)使用可变参数的宏 ##__VA_ARGS__ 来对应printf的多参数。(注意:其中 __ 为2个连续的”_“)
2) 使用编译器内置的宏 __FILE__ __LINE__ 来输出代码所在文件名及行号(注意:其中 __ 为2个连续的”_“)
代码示例如下:
在代码调试阶段,保留 ”#define _DEBUG_“;在发布时,直接注释掉该宏,则不会输出调试信息,非常方便。
自定义宏定义,来控制printf输出调试信息。
1)使用可变参数的宏 ##__VA_ARGS__ 来对应printf的多参数。(注意:其中 __ 为2个连续的”_“)
2) 使用编译器内置的宏 __FILE__ __LINE__ 来输出代码所在文件名及行号(注意:其中 __ 为2个连续的”_“)
代码示例如下:
//================================================ // Name : debug.cpp // Author : vin // Version : 1.0 // Description : Hello World in C++, Ansi-style //================================================ #include <stdio.h> #include <stdlib.h> #define _DEBUG_ #ifdef _DEBUG_ #define DEBUG(format, ...) printf("File: " __FILE__ ", Line: %05d:" format "\n", __LINE__,##__VA_ARGS__) #else #define DEBUG(format, ...) #endif int main() { char str[] = "Hello World"; DEBUG("A ha,check me :%s", str); // printf("hello\n"); system("pause"); return 0; }
在代码调试阶段,保留 ”#define _DEBUG_“;在发布时,直接注释掉该宏,则不会输出调试信息,非常方便。
相关文章推荐
- C/C++ __FILE__,__LINE__输出调试信息
- C语言常用宏定义 __FILE__,__LINE__,FUNCTION__实现代码跟踪调试(linux下c语言编程)
- linux 中C语言便于调试的宏定义编写及 __FILE__,__FUNCTION__, __LINE__参数使用
- C++ 调试宏 __LINE__ __FILE__ & UNICODE使用方法
- linux 中C语言便于调试的宏定义编写及 __FILE__,__FUNCTION__, __LINE__参数使用
- 程序调试信息的输出__FILE__,__LINE__,不定参数的宏定义
- linux 中C语言便于调试的宏定义编写及 __FILE__,__FUNCTION__, __LINE__参数使用
- android调试log输出及类似C/C++中的__FILE__、__FUNC__、__LINE__等功能
- __FILE__,__LINE__ c++调试技巧
- 程序调试信息的输出__FILE__,__LINE__,不定参数的宏定义
- 程序调试信息的输出__FILE__,__LINE__,不定参数的宏定义
- __FILE__,__LINE__,FUNCTION__实现代码跟踪调试(linux下c语言编程)
- C语言宏定义,内置宏,__FILE__,__LINE__,## 用法
- log调试利器------__TIME__, __FILE__, __FUNCTION__, __LINE__, __VA_ARGS__搞起
- 关于使用__FILE__和__LINE__的宏定义来打印日志
- _FILE__,__LINE__,FUNCTION__实现代码跟踪调试(linux下c语言编程)
- FILE__,__LINE__,FUNCTION__实现代码跟踪调试(linux下c语言编程 )
- C程序调试利器。__DATE__ ,__TIME__,__FILE__,__LINE__,__FUNCTION__
- C语言宏定义,内置宏,__FILE__,__LINE__,## 用法
- __DATE__,__FILE__,__LINE__,__TIME__,__FUNCTION__宏定义