Programming,  컴퓨터와 인터넷

[C] 매크로 정의하기

[ CnUnix ] in KIDS
글 쓴 이(By): seeagain (그림자)
날 짜 (Date): 2000년 9월 6일 수요일 오후 03시 50분 17초
제 목(Title): [질문] define 된곳이 없는데… 쩝…

원하는 방식으로 컴파일을 하거나 특이한 상황에 맞게 또는 이런 저런 이유로

#define MACRO

를 사용하는 걸로 알고 있습니다. 지금 보고 있는 소스도 예외는 아닌것 같은데 도대체 define 된곳을 찾을수가 없는데 define 된것으로 나오네요… DEBUG 같은 경우는 기본적으로 설정되어진 매크로인가요??

현재 컴파일러는 gcc를 사용하고 있습니다.

간단한 소스를 보면,

#ifdef DEBUG
#define pri(expr) expr
#endif

이런 식으로 선언이 되어 있습니다. DEBUG MACRO가 선언이 되어 있는 경우, pri(expr)이 expr로 대치가 되어야 할텐데 어디를 찾아봐도

#define DEBUG

가 된곳은 없네요… 기본인가? 어쨌든 수행을 하면

#define pri(expr) expr

이 먹히고 있습니다. 에고, 그저 답답…

[ CnUnix ] in KIDS
글 쓴 이(By): terzeron (microkid)
날 짜 (Date): 2000년 9월 6일 수요일 오후 03시 53분 48초
제 목(Title): Re: [질문] define 된곳이 없는데… 쩝…

gcc가 컴파일할 때, -Dmacro=defn으로 정의하면서 컴파일하는 거 아닐까요?

gcc -DDEBUG test.c

이건 또 makefile에서 설정을 해 놓았을 수도 있겠구요.

답글 남기기