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하게 된다.
'프로그래밍 > C' 카테고리의 다른 글
typedef 와 static 을 동시에 사용 못하는 이유 (0) | 2012.11.24 |
---|---|
인라인 어셈블리 (0) | 2012.09.25 |
구조체 초기화 방법 (0) | 2012.08.21 |
error: expected identifier before numeric constant (0) | 2012.07.03 |
정적 라이브러리, 동적 라이브러리 만들기 (0) | 2012.04.04 |