본문 바로가기

프로그래밍

include 가드

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