티스토리 뷰
프로그래밍 되어있는 소스들을 건들다 보면
#ifdef
#ifndef
#endif
#include
#define
이런것들을 볼 수 있는데~~ '전처리기'라고 하죠~
#include와 #define은 모두 아실테고..
나머지 세개를 볼까요? 너무나 쉽습니다
#ifdef STAR //STAR가 define되어 있다면
#define A B
#endif
#ifndef STAR //STAR가 define되어있지 않다면
#define A C
#endif
이게 다에요~ #endif는 반드시 #ifdef또는 #ifndef와 함께 쓰입니다.
stdafx.h를 보면
#define WIN32_LEAN_AND_MEAN // 거의 사용되지 않는 내용은 Windows 헤더에서 제외합니다.
// Windows 헤더 파일:
#include <windows.h>
이런 부분이 있는데, WIN32_LEAN_AND_MEAN을 정의해 놓았기 때문에 아래와 같은 일이 일어납니다.
windows.h 소스내용 중
#ifndef WIN32_LEAN_AND_MEAN
#include <cderr.h>
#include <dde.h>
#include <ddeml.h>
#include <dlgs.h>
#ifndef _MAC
#include <lzexpand.h>
#include <mmsystem.h>
#include <nb30.h>
#include <rpc.h>
#endif
#include <shellapi.h>
#ifndef _MAC
#include <winperf.h>
#include <winsock.h>
#endif
#ifndef NOCRYPT
#include <wincrypt.h>
#include <winefs.h>
#include <winscard.h>
#endif
#ifndef NOGDI
#ifndef _MAC
#include <winspool.h>
#ifdef INC_OLE1
#include <ole.h>
#else
#include <ole2.h>
#endif /* !INC_OLE1 */
#endif /* !MAC */
#include <commdlg.h>
#endif /* !NOGDI */
#endif /* WIN32_LEAN_AND_MEAN */
이런 부분이 있는데, WIN32_LEAN_AND_MEAN가 정의되어 있지 않으면 이러이러한 것들을 include하라~ 이런 뜻인것이죠~~! OPENFILENAME 등을 사용할려면 WIN32_LEAN_AND_MEAN을 주석처리 해야 할 거에요~~
'Language > C C++' 카테고리의 다른 글
함수 이름 앞에 ::가 붙는 경우 (0) | 2010.04.07 |
---|---|
extern "C"와 function overload (0) | 2009.09.02 |
유니코드 프로그래밍 (0) | 2009.02.13 |
구조체 포인터에 관하여 (0) | 2008.12.09 |
미리 컴파일된 헤더 - PCH 에러 해결법 (0) | 2008.12.09 |
함수로 배열 리턴 받는 방법 (2) | 2008.12.09 |
여러개의 c파일에서 변수 끌어다 쓰기 (0) | 2008.12.08 |
system(); 함수 사용시에 폴더 경로를 절대경로로 지정할 때 주의할점! (0) | 2008.10.27 |
- Total
- Today
- Yesterday
- Visual C++
- Cloud
- Troubleshooting
- 리눅스
- linux
- android
- driver
- 음악
- 프로그래밍
- java
- winapi
- API
- Python
- 안드로이드
- jni강좌
- NDK
- database
- MFC
- kering
- source
- jni
- algorithm
- C++
- AWS
- gcc
- db
- 드라이버
- it
- C
- Quiz
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |