level 7
blucewt
楼主
在C/C++语言中
__FILE__:打印相应的文件名
__LINE__:打印语句在源代码中相应的行
__FUNCTION__:打印语句在源代码中相应的函数名
#define HERE __FILE__<<"("<<__LINE__<<") "<<__FUNCTION__<<": "
比如:
debugs(1,2, HERE << "some message");
--------------------------------------------------------------------------------------------------------------------------
debugs的宏定义如下:
#define debugs(SECTION, LEVEL, CONTENT) \
do { \
if ((Debug::level = (LEVEL)) <= Debug::Levels[SECTION]) { \
Debug::getDebugOut() << CONTENT; \
Debug::finishDebug(); \
} \
} while (/*CONSTCOND*/ 0)
那么debugs(1,2,HERE<<"some meddage"); 的输出如下:
CONTENT替换HERE<<"some meddage":
#define debugs(SECTION, LEVEL, CONTENT) \
do { \
if ((Debug::level = (LEVEL)) <= Debug::Levels[SECTION]) { \
Debug::getDebugOut() << HERE<<"some meddage":; \
Debug::finishDebug(); \
} \
} while (/*CONSTCOND*/ 0)
当然,这里打印的行号和函数名称都应该是debugs在具体函数中的行号和函数名。
2019年10月12日 05点10分
1
__FILE__:打印相应的文件名
__LINE__:打印语句在源代码中相应的行
__FUNCTION__:打印语句在源代码中相应的函数名
#define HERE __FILE__<<"("<<__LINE__<<") "<<__FUNCTION__<<": "
比如:
debugs(1,2, HERE << "some message");
--------------------------------------------------------------------------------------------------------------------------
debugs的宏定义如下:
#define debugs(SECTION, LEVEL, CONTENT) \
do { \
if ((Debug::level = (LEVEL)) <= Debug::Levels[SECTION]) { \
Debug::getDebugOut() << CONTENT; \
Debug::finishDebug(); \
} \
} while (/*CONSTCOND*/ 0)
那么debugs(1,2,HERE<<"some meddage"); 的输出如下:
CONTENT替换HERE<<"some meddage":
#define debugs(SECTION, LEVEL, CONTENT) \
do { \
if ((Debug::level = (LEVEL)) <= Debug::Levels[SECTION]) { \
Debug::getDebugOut() << HERE<<"some meddage":; \
Debug::finishDebug(); \
} \
} while (/*CONSTCOND*/ 0)
当然,这里打印的行号和函数名称都应该是debugs在具体函数中的行号和函数名。