카테고리 없음
Header file에서 #ifndef
F.xavier
2014. 1. 23. 00:47
Compiler에 따라 Error가 나는 경우도 있고 그렇지 않은 경우도 있지만 중복 헤더를 방지하기 위해 습관처럼 사용하자.
// 헤더
파일의
제일
첫
부분
#ifndef HDR_H // 헤더
파일명을
대문자한
매크로가
정의되어
있지
않으면
#define HDR_H // 헤더
파일명
매크로를
정의한다
...... // 헤더
파일
본
내용이
여기
들어갑니다
#endif // ifndef HDR_H 에
매치됩니다
위와 같이 헤더 파일은 처음 헤더 파일이 포함될 때, 컴파일러의 프리프로세서가 HDR_H 매크로가 정의되어 있지 않으므로 HDR_H 매크로를 정의하게 됩니다.
다음에 다시 같은 헤더 파일이 포함될 때는 HDR_H이 정의되어 있기 때문에 모든 헤더 파일의 내용을 스킵하게 됩니다. 즉, 포함되지 않는 효과가 생기게 됩니다.