C / C ++ 매크로 인쇄 제어

C / C ++ 개발 과정에서 자주 디버깅을 용이하게하기 위해 뭔가를 인쇄해야하지만, 그들은 더 이상 개발 후 디버깅 정보를 인쇄 할 없습니다. 할 수있는 가장 귀찮은 것은 개발에 인쇄 디버그 정보이며, 다음 릴리스에 따라 이러한 의견의 정보를 인쇄 할 수 있습니다. 또는 당신은 매크로으로 ifdef 문장 인쇄 정보를 추가 할 수 있습니다.

그건 비교적 간단한의 숫자를 할 수있는 방법이 없다?

1, C 언어

일반적인 언어 사용의 printf c를, 같은 다음과 같습니다 :

// # 정의 __DEBUG
#ifdef와 __DEBUG
#DEFINE DEBUG (형식, ...)의 printf (형식, ## __ VA_ARGS__)
//可打印文件名,行号
// # 정의 DEBUG (형식, ...)의 printf ( " FILE "__FILE__"LINE %의 D "포맷"/ N ", __LINE__ ## __ VA_ARGS__)
#else
#DEFINE DEBUG (형식, ...)
#endif 다음

대신 DEBUG로 PRINTF.

2, C ++

C ++ COUT 출력을 다음과 같이 일반적으로 사용했을

// # 정의 __DEBUG
#ifdef와 __DEBUG
#DEFINE tcout cout을
#else
#DEFINE tcout 0 & & cout을
#endif 다음

/ *
#DEFINE TRAC
#ifndef TRACE2
#DEFINE COUT 0 && COUT
#endif 다음
* /

tcout를 이용하여 치환 될 COUT. 댓글은 여전히 ​​COUT를 사용하여, 두 번째 방법을 따랐다.

게시 12 개 원래 기사 · 원 찬양 4 ·은 20000 +를 볼

추천

출처blog.csdn.net/wuzhidefeng/article/details/81565978