参考博文:http://www.cnblogs.com/lixiaohui-ambition/archive/2012/08/21/2649052.html
自定义宏定义,来控制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“;在发布时,直接注释掉该宏,则不会输出调试信息,非常方便。
原文链接: https://www.cnblogs.com/wenshanzh/archive/2013/03/26/2982151.html
欢迎关注
微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍
原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/82078
非原创文章文中已经注明原地址,如有侵权,联系删除
关注公众号【高性能架构探索】,第一时间获取最新文章
转载文章受原作者版权保护。转载请注明原作者出处!