ifdef와 include 전처리기의 우선순위나 범위?
글쓴이: sabihanl / 작성시간: 수, 2007/08/22 - 5:30오후
현재 다음과 같은 코드가 있다고 가정할 때
#ifdef test1
//code block 1
#else
//code block 2
#endif
code block 1과 code block 2는 거의 비슷한 내용입니다.
이랬을때 code block 1과 code block 2에 같은 내용의 include를 하면 문제가 발생 하는지
궁금합니다.
예를들어
#ifdef test1
#include "aaa.h"
#include "bbb.h"
#include "ccc.h"
//code
#else
#include "aaa.h"
#include "bbb.h"
#include "ccc.h"
//code
#endif
이런식의 구성에서 뭔가 예기치 않은 오류가 발생하여
include구문을 ifdef위로 올렸더니 정상 동작 하던데
궁금한 것은
어차피 전처리계이고 우선순위가 동등하다면 가장 위의 ifdef에 의하여
code block 1이나 code block 2만 치환되어야하고
그랬을때 아랬쪽의 include구문은 어차피 무시되어야 하는 것이 아닌가 궁금합니다.
몰라도 너무모르니 배워야할게 참 많네요.. 좋은하루들 보내시기 바랍니다 ^^ /
Forums:
댓글 달기