블로그 이미지
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

#ifdef 는 정의되있는지를 테스트 하므로, 한번에 여러개를

사용할 수는 없다. 형식이 #ifdef name 처럼,

하나의 토큰이 되어야한다.

여러개가 정의되있는지 테스트 하기위해서는 
#if defined(MACRO1) || defined(MACRO2)처럼 사용.

단, #if는 ||로 중첩해서 사용할 수 있다.
형식이, #if expression이므로, C표현이 올수 있다.

#if MACRO1 || MACRO2 처럼 사용해도 된다.

 

 

#if !defined() 의 의미는 #ifndef 와 같다. (if not define)

()안의 내용이 정의되어 있지 않으면 그 아래부분 (#endif까지)을 유효한 소스코드로 인식하고 컴파일 시 적용하라는 의미다.

 

그런데 그 괄호안의 부분을 찾을 수가 없다는 것은

EXCLUDE_PGX_SUPPORT 가 아무데도 define되지 않았음을 의미

 

정의되어 있지 않으므로 해당 구문 이후의 소스코드는

유효한 코드가 된다.

 

#if !defined(...)

 

안의 내용은 유효코드

 

#endif

 

반대로, #ifdef (...)라면

해당 키워드가 정의되어 있지 않으므로

#endif  까지의 코드내용은 전부 무의미해진다.



출처 : http://blog.naver.com/ghostcbr954/110003736409

반응형
Posted by blueasa
, |