프로그래밍/C
include guard에 대해서
code cat
2012. 9. 24. 13:58
include guard란 실수로 인해 같은 header 파일이 한번 이상 include되는 걸 막는 방법이다.
아래 예제를 보자.
basic.h
intermediate.h
expert.c
보는 바와 같이 expert.c에서 basic.h를 두번 include하는 결과가 되었다. (라인1에서 한번, 라인 2의 intermediate.h는 결국 basic.h를 include한다)
그래서 이러한 상황을 막기 위해 헤더파일을 정의 할 때 다음과 같이 basic.h에 중복 정의를 막는 매크로를 사용한다.
basic.h (modified)
이러한 예제만 보면 별거 아닌거 가지고 저러나 싶겠지만, 파일 수십가지 수백가지가 되면 의도치않게 중복으로 include하게 된다.