b. 임베디드/아두이노

[아두이노] #define _DEBUG_ 사용하기

로봇쟁이 2018. 8. 2. 09:24

저는 가끔 DEBUG용으로 print문을 많이 사용하는데요.

실무에서 만들어진 라이브러를 살펴 보면 _DEBUG_ 를 전처리문으로 많이들 볼수 있습니다.

실제 동작부분에서는 사용하지 않고 오로지 DEBUG를 위해 만들어놓은 코드라 볼수 있는데요.


한번 코드 살펴보시죠.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#define _DEBUG_
#ifdef _DEBUG_
     #define DBG_sprintf      sprintf
#else
     #define DBG_sprintf
#endif
 
void setup() {
     Serial.begin(9600);
}
 
void loop() {
     int a = 10;
     char buf[50= "";
     DBG_sprintf(buf, "Debug Test = %d\n", a);
     Serial.print(buf);
     delay(500);
}
cs



보이시나요?


_DEBUG_ 모드일때는 DBG_sprintf 를 sprintf 로 치환하여 해당 문자열을 출력해주네요 ^^;

뭔가 조금 깔끔하고 고급스러워 보이는 군요.



참 쉽죠? 



(그러나 정작 저는 잘 안쓰는..ㅜㅜ 역시 초보 개발자라..)

반응형