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