首页 > 代码库 > C/C++ __FILE__,__LINE__输出调试信息
C/C++ __FILE__,__LINE__输出调试信息
在写程序的时候,总是或多或少会加入一些printf之类的语句用于输出调试信息,但是printf语句有个很不方便的地方就是当我们需要发布程序的时候要一条一条的把这些语句删除,而一旦需要再次调试的时候,这些语句又不得不一条条的加上,这给我们带来了很大的不便,浪费了我们很多的时间,也造成了调试的效率低下。所以,很多人会选择使用宏定义的方式来输出调试语句。
编译器内置宏,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; }
C/C++ __FILE__,__LINE__输出调试信息
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。