첨엔 잘 느끼지 못했는데 헤더파일의 수가 늘어나면서 조건부 컴파일은 그냥 습관처럼 쓴다.
아직까지 조건부 컴파일의 사용성을 피부로느끼진 못하겠지만.. 그래도 이론은 이렇다.
#ifndef 는 if not define을 뜻하고, 정의되어 있지 않으면 컴파일 하며 #endif 까지 컴파일 한다.
#define은 '무언가'를 정의하겠다는 뜻이다.
위 둘이 같이 쓰이면,
#ifndef '무엇'
#define '무엇'
....
#endif
하나의 프로젝트 안해서 '무엇'이 정의되어 있지 않다면, 그 '무엇'을 정의하기 위해서 #endif까지 컴파일 할 것이며,
그 속에서 '무엇'을 정의(define)하겠다는 것이다.
이 세가지를 쓰는 이유는, 하나의 프로젝트 안에서 파일을 여러개 쓸때, 중복해서 정의되지 말아야 할 것들이 있는데
컴파일시 중복정의되며 에러가 나지 않도록 미리 방지하는 것이다.
란다 ㅋ
예전에 공부하면서 써논건데 ㅎㅎ
'Note..' 카테고리의 다른 글
내 코드 출력해주기 (0) | 2011.08.01 |
---|---|
c# 맵에디터 (0) | 2011.05.18 |
12기 대상 C++강의 숙제(1) (0) | 2011.03.28 |
Thread 기본구조 (0) | 2011.03.10 |
POST와 GET (0) | 2011.01.27 |