include 가드는 동일한 컴파일 단위에 같은 파일이 두번 이상 포함되는 것을 막는다.
// Game.h #ifndef GAME_H_ #defind GAME_H_ //... #endif // GAME_H_
이런식으로 대부분의 C와 C++ 프로그램에 자주 사용된다.
다른 방법으로는 #pragma 의 이용이 있다.
#pragma 는 동일한 파일을 여러번 포함하는 것을 방지하는 include 가드의 역할뿐 아니라,
파일을 두번 여는것도 방지하므로 컴파일의 속도를 증가시켜 줄 수도 있다.
그러나 #pragma 는 C++ 표준에 포함되어있지 않다.
그러므로 보통 다음과같이 작성된다.
// Game.h #ifndef GAME_H_ #defind GAME_H_ #if defined(_MSC_VER) && (_MSC_VER >= 1200) # pragma once #endif // defined(_MSC_VER) && (_MSC_VER >= 1200) //... #endif // GAME_H_
_MSC_VER >= 1200 은 MS 컴파일러 특정 버전 이후에서만 #pragma once 를 이용한다는 것을 의미한다.
'프로그래밍' 카테고리의 다른 글
gtest 사용하기 (0) | 2012.12.06 |
---|---|
FormatMessage (Win32) (0) | 2012.12.05 |
Unicode 사용 (0) | 2012.12.05 |
#define WIN32_LEAN_AND_MEAN (0) | 2012.12.05 |
gtest (google test) vs2010 설정 (0) | 2012.12.04 |