c++에서 pragma는 compiler에게 어떤 동작을 정해주기 위해서 사용한다.
지정 형식은 아래와 같다.
token-string 부분에 전달해줄 동작을 명시해 주면 된다.
예를 들어 once라는 string을 전달하는 예는 아래와 같다.
컴파일러는 이를 해석해서 소스를 컴파일 할때 이 header파일을 한번만 include한다.
이 pragma를 사용하면 컴파일러가 hearder.h파일을 한번만 열고 읽기 때문에 빌드를 하는시간을 줄일 수 있다.
Msdn의 once관련 설명 페이지 (http://msdn.microsoft.com/ko-kr/library/4141z1cx.aspx)
이밖에도 여러가지 token-string을 사용할 수 있는데 목록은 아래와 같다.
오른쪽 옆에 1이 적혀있는것은 c++ 컴파일러에서만 동작하는 것이다.
이외에 지정되지 않는 스트링을 전달하거나 해석하지 못하는 컴파일러의 경우는 warning을 나타내고 계속 컴파일을 진행한다.
pragma 관련 keyword 설명 페이지 ( http://msdn.microsoft.com/ko-kr/library/d9x1s805.aspx )
지정 형식은 아래와 같다.
#pragma token-string __pragma(token-string)
token-string 부분에 전달해줄 동작을 명시해 주면 된다.
예를 들어 once라는 string을 전달하는 예는 아래와 같다.
// header.h #pragma once ....
컴파일러는 이를 해석해서 소스를 컴파일 할때 이 header파일을 한번만 include한다.
이 pragma를 사용하면 컴파일러가 hearder.h파일을 한번만 열고 읽기 때문에 빌드를 하는시간을 줄일 수 있다.
Msdn의 once관련 설명 페이지 (http://msdn.microsoft.com/ko-kr/library/4141z1cx.aspx)
이밖에도 여러가지 token-string을 사용할 수 있는데 목록은 아래와 같다.
conform 1 |
||
init_seg 1 |
||
vtordisp 1 |
||
오른쪽 옆에 1이 적혀있는것은 c++ 컴파일러에서만 동작하는 것이다.
이외에 지정되지 않는 스트링을 전달하거나 해석하지 못하는 컴파일러의 경우는 warning을 나타내고 계속 컴파일을 진행한다.
pragma 관련 keyword 설명 페이지 ( http://msdn.microsoft.com/ko-kr/library/d9x1s805.aspx )