Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
Tags
- SetThreadAffinityMask
- 인스피론
- Thread
- inspiron 15 7590
- 여객선
- 가벼워
- VisualStudio
- 환경변수
- 사용자매크로
- 영상처리
- Jetson Nano
- MFC
Archives
- Today
- Total
MuTa
조건 컴파일 #if #endif 본문
#if 0
blahblah();
#endif
위 코드에서 blahblah는 컴파일 전단계에서 사라집니다.
#if 1
blahblha2();
#endif
위 코드에서 blahblah2는 컴파일되겠죠
#if A
는 A가 true일때 아래 코드를 컴파일해라. 라는 전처리 명령입니다.
효과는 #endif 를 만날때 까지 적용되고요(#endif가 없으면 컴파일 에러가 나죠.)
if(A){} 와 다른 점은 if(A)는 컴파일이 되고 런타임 단계에서 실행여부가 결정되지만
#if A
#endif
는 컴파일 단계에서 실행여부(컴파일이 안되면 실행도 안되죠)가 결정됩니다.
#ifndef A
blahblha3();
#endif
위 코드에서 blahblah3는 A가 define돼 있지 않아야 컴파일 됩니다.
위코드가 나오기 전의 소스코드에(#include된 코드들 포함)
#define A
가 나오면 컴파일 되겠죠
A가 define되었더라도
#undef A
가 나오면 다시 define되지 않은 상태가 되어 blahblah3()는 컴파일되지 않습니다.
blahblah();
#endif
위 코드에서 blahblah는 컴파일 전단계에서 사라집니다.
#if 1
blahblha2();
#endif
위 코드에서 blahblah2는 컴파일되겠죠
#if A
는 A가 true일때 아래 코드를 컴파일해라. 라는 전처리 명령입니다.
효과는 #endif 를 만날때 까지 적용되고요(#endif가 없으면 컴파일 에러가 나죠.)
if(A){} 와 다른 점은 if(A)는 컴파일이 되고 런타임 단계에서 실행여부가 결정되지만
#if A
#endif
는 컴파일 단계에서 실행여부(컴파일이 안되면 실행도 안되죠)가 결정됩니다.
#ifndef A
blahblha3();
#endif
위 코드에서 blahblah3는 A가 define돼 있지 않아야 컴파일 됩니다.
위코드가 나오기 전의 소스코드에(#include된 코드들 포함)
#define A
가 나오면 컴파일 되겠죠
A가 define되었더라도
#undef A
가 나오면 다시 define되지 않은 상태가 되어 blahblah3()는 컴파일되지 않습니다.
'MFC-C++' 카테고리의 다른 글
디버그에 대한 자세한 설명 (0) | 2011.12.16 |
---|---|
Visual Studio 2010에서 OpenCV 2.3.1 설치 (0) | 2011.12.08 |
프로그램 실행시간 측정하기 (0) | 2011.12.02 |
VC2010 설정 Lib files 무시해야 하는 라이브러리 (0) | 2011.12.02 |
클래스 사라질때 (0) | 2011.12.02 |