C/C++ __FILE__,__LINE__输出调试信息
2015-01-12 17:20
459 查看
在写程序的时候,总是或多或少会加入一些printf之类的语句用于输出调试信息,但是printf语句有个很不方便的地方就是当我们需要发布程序的时候要一条一条的把这些语句删除,而一旦需要再次调试的时候,这些语句又不得不一条条的加上,这给我们带来了很大的不便,浪费了我们很多的时间,也造成了调试的效率低下。所以,很多人会选择使用宏定义的方式来输出调试语句。
编译器内置宏,ANSI C标准中有几个标准预定义宏(也是常用的):
__LINE__: 在源代码中插入当前源代码行号;
__FILE__: 在源文件中插入当前源文件名;
__DATE__: 在源文件中插入当前的编译日期
__TIME__: 在源文件中插入当前编译时间;
__STDC__: 当要求程序严格遵循ANSI C标准时该标识被赋值为1;
__cplusplus: 当编写C++程序时该标识符被定义。
测试源码:
测试结果:
编译器内置宏,ANSI C标准中有几个标准预定义宏(也是常用的):
__LINE__: 在源代码中插入当前源代码行号;
__FILE__: 在源文件中插入当前源文件名;
__DATE__: 在源文件中插入当前的编译日期
__TIME__: 在源文件中插入当前编译时间;
__STDC__: 当要求程序严格遵循ANSI C标准时该标识被赋值为1;
__cplusplus: 当编写C++程序时该标识符被定义。
测试源码:
#include "stdafx.h" #ifdef _DEBUG #define DEBUG(format,...) printf("File: "__FILE__", Line: %05d: "format"\n", __LINE__, ##__VA_ARGS__) #else #define DEBUG(format,...) #endif //!_DEBUG int _tmain(int argc, _TCHAR* argv[]) { DEBUG("file line Test %d", 1); return 0; }
测试结果:
相关文章推荐
- 程序调试信息的输出__FILE__,__LINE__,不定参数的宏定义
- android调试log输出及类似C/C++中的__FILE__、__FUNC__、__LINE__等功能
- 程序调试信息的输出__FILE__,__LINE__,不定参数的宏定义
- 程序调试信息的输出__FILE__,__LINE__,不定参数的宏定义
- C++ 开发中自定义调试信息的输出方法
- C++ 调试宏 __LINE__ __FILE__ & UNICODE使用方法
- android JNI C++开发时调试输出信息
- c++输出调试信息到vs中的输出窗口
- c++输出调试信息到vs中的输出窗口
- __FILE__ __LINE__ C++ 宏定义 调试
- c++调试信息输出
- [S60]使用日志类RFileLogger输出调试信息
- 将C++调试信息显示在VS输出窗口中, 像TRACE一样调用
- C++ 用条件编译 控制开发过程中输出调试信息
- C++ MFC控制台输出调试信息
- __FILE__,__LINE__ c++调试技巧
- Debug.WriteLine输出调试信息
- C++ MFC控制台输出调试信息
- C++ 用条件编译 控制开发过程中输出调试信息
- 利用 __FILE__, __LINE__输出debug信息