블로그 이미지
Every unexpected event is a path to learning for you. blueasa

카테고리

분류 전체보기 (2797)
Unity3D (853)
Programming (479)
Server (33)
Unreal (4)
Gamebryo (56)
Tip & Tech (185)
협업 (61)
3DS Max (3)
Game (12)
Utility (68)
Etc (98)
Link (32)
Portfolio (19)
Subject (90)
iOS,OSX (55)
Android (14)
Linux (5)
잉여 프로젝트 (2)
게임이야기 (3)
Memories (20)
Interest (38)
Thinking (38)
한글 (30)
PaperCraft (5)
Animation (408)
Wallpaper (2)
재테크 (18)
Exercise (3)
나만의 맛집 (3)
냥이 (10)
육아 (16)
Total
Today
Yesterday

'#pragma'에 해당되는 글 2건

  1. 2011.01.07 유용한 전처리기
  2. 2010.10.21 #pragma macro_push, macro_pop

유용한 전처리기

Tip & Tech / 2011. 1. 7. 03:13

전처리기.

프리컴파일러(Free가 아니다 : PreCompiler)

 

프로그래머들이 자주 쓰는 전처리기 기능 3가지만 소개하고자 한다.

이것은 쓰라고 강요하기보단 다른 사람(그사람이 현업에서 근무할 가능이 높으므로) 코드를 이해하는데

조금이나마 도움을 주기 때문이다.

 

#pragma comment()

 

ex)

#pragma comment(lib, "dxguid.lib")

 

Project -> Setting -> Link(단축키:ALT+F7)에서 "dxguid.lib"와 "ddraw.lib"와 같은 lib파일을

링크해야 하는 과정을 대신해준다.

 

#pragma warning ()

 

ex)

#pragma warning (disable:4244)

 

4244의 경고 메세지를 출력창에 안보이도록 해준다.

참고로 4244는 무리한(캐스팅연산자가 없이하는) 형변환에 대한 경고이다.

 

#pragma message()

 

ex)

#define _QUOT(x) # x
#define QUOT(x) _QUOT(x)
#define OutputMessage(x)  message( __FILE__ "(" QUOT(__LINE__) ") : " #x )

 

void main()

{

  #pragma OutputMessage(하하하)

}

 

위모양대로 했을경우 컴파일러 출력창에 메세지를 출력해주며 파일과 라인번호를 입력하면

에러났을때 처럼 링크기능이 있다.

cpp의 컴파일 순서를 체크(물론 VC에서는 이에 해당하는 기능도 제공한다)해볼때 유용할거 같다.

[출처] 유용한 전처리기|작성자 나르메

반응형
Posted by blueasa
, |

 "d3dx9math.h"를 include할때 이전에 정의되어있는 'new'때문에 에러가 발생했다.

그렇다고 기본new를 그냥 undef하고 사용하기는 찝찝해서 아래와 같이 잠깐동안만 기본new를 undef하고

다시 선언하는 방법을 사용해 에러를 없앴다.

 

// 이전의 new를 저장했다 다시 디파인
#pragma push_macro("new") // 기본new를 저장
#undef new // 기본new를 삭제
#include "d3dx9math.h" // 이 파일에 같은 이름의 new 매크로가 존재
#pragma pop_macro("new") //  저장해둔 기본new를 로드



출처 : http://blog.naver.com/nkein82?Redirect=Log&logNo=100088967998

반응형
Posted by blueasa
, |