轉自http://longriver.me/?p=325spa
在編寫C++/C 的項目,由於調試的須要,常常會輸出debug信息,那如何輸出debug信息呢?
在C裏面能夠這樣定義一個debug的宏debug
1
2
3
4
5
|
#ifdef DEBUG_BUILD
# define DEBUG(x) fprintf(stderr, x)
#else
# define DEBUG(x) do {} while (0)
#endif
|
到了CPP能夠這樣定義:調試
1
2
3
|
#define DEBUG(x) do { \
if
(
debugging_enabled
)
{
std
::
cerr
<<
x
<<
std
::
endl
;
}
\
}
while
(
0
)
|
固然你也能夠將__FILE__,__LINE__,__func__這些變量放上code
若是你想支持變長的變量輸出的話seo
1
2
3
4
|
#define DEBUG(fmt,...) do {\
fprintf
(
stderr
,
fmt
,
##__VA_ARGS__); \
}
\
while
(
0
)
|
這樣之後使用的話 DEBUG("i is : %d",i);ip