1. Virtual C++ 2005
- 디버그 모드
// 디버깅하기 위한 컴파일 모드. 실행파일 중간에 디버그 정보를 삽입하여 디버깅 정보를 볼 수 있게 하며, 브레이크 포인트를 걸어서 실행 중간 과정을 확인 할 수 있음. 디버깅 정보가 들어가 실행파일의 크기는 크다.
- 릴리즈 모드
// 배포하기 위한 컴파일 모드. 컴파일 시에는 디버그 정보가 모두 빠지고, 코드 또한 최적화되므로 실행 파일의 크기는 작은 편이다.
2. WIN 32 Data type
자료형 |
의미 |
BYTE |
unsigned char형 |
WORD |
unsigned short형 |
DWORD |
unsigned long 형 |
LONG |
long형과 같다. |
LPSTR |
char*형과 같다.(포인터) |
BOOL |
정수형이며 TRUE 혹은 FALSE 값을 갖는다. |
3. 인수와 매개변수
- 매개변수
// 함수 내부에서 사용되는 변수. 즉, 불리워진 함수 내부에서 사용하는 변수.
- 인수
// 함수 밖에서 함수를 호출할 때 사용되는 변수. 즉, 함수를 부르는 쪽에서 사용하는 변수
int multiple (int a, int b)
{
int nret;
nret=a*b;
return nret;
}
void main()
{
int k,m,n;
k=multiple(m,n);
}
// a,b는 매개변수, m,n은 인수.
4. Vitual C++ 2005 시작 // win xp에서 실행.
Win 32 -> Win 32 프로젝트
Windows 응용프로그램, 빈 프로젝트 체크 후 마침.
소스파일 추가 -> 새 항목 -> 코드 -> c++파일(.cpp)
5. 함수의 기본 구조 // 반드시 있어야 할 함수!!
(1) WinMain() 함수 // 프로그램의 윈도우 자체를 생성만 함.
WinMain(){윈도우_클래스_만들기윈도우_객체_생성하기윈도우_객체_화면에_띄우기메시지_루프_돌리기}- WinMain() 함수의 원형int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpszCmdParam,int nCmdShow)// hInstance : 현재 실행되고 있는 프로그램의 인스턴스 핸들hPrevlnstance : 바로 앞에 실행된 프로그램의 인스턴스 핸들, 통상 NULL 값을 준다.lpCmdLine : 명령행 인자. main 함수의 argv에 해당.nCmdShow : 윈도우를 보여주는 형태의 플래그.* 인스턴스 핸들// 메모리에 생성된 클래스의 실체.예를 들면, 내 방에 있는 컴퓨터, 책상, 스탠드 등을 클래스라 할 수 있으며, 이 물건들을 활용한다면 메모리에 생선한다고 말할 수 있다.내 방에 컴퓨터는 존재한다( 클래스가 존재한다 ) 내가 컴퓨터의 전원을 켠다 (메모리에 클래스를 생성한다) 존재의 가치가 있으려면 메모리가 생성되어야한다.각 프로그램마다 고유하다.* 핸들// 레이블과 같은 것으로, 대상을 식별하는데 주로 사용.- 접두어 h로 시작하며, 정수형 32bit이다.- 핸들은 운영체제가 발급하며 사용자는 핸들을 쓰기만 하면 된다.- 같은 종류의 핸들끼리는 절대 중복된 값을 가지지 않는다.< 윈도우 생성을 위해서 > // WinMain()함수1. 윈도우 클래스 생성 // 구조체 이용2. 윈도우 객체 생성 // 클래스 이용3. 윈도우 화면에 출력4. 입력장치로부터 입력신호를 받음(메시지 루프)// 메시지 루프로부터 전달 받은 윈도우 메시지를 처리 // WndProc()함수(2) WndProc() 함수 // 실제 일어나는 윈도우 메시지를 처리 ( 윈도우 프로시져 = 윈프록 )WndProc(){전달된_메시지_처리하기
}
'WIN32 API' 카테고리의 다른 글
WIN32 API- 파일 공유 (0) | 2018.12.11 |
---|---|
WIN32 API- 파일의 입출력 예제2 (0) | 2018.12.08 |
WIN32 API- 파일의 입출력 예제1 (0) | 2018.12.07 |
WIN32 API- 파일의 입출력(ReadFile)/(WriteFile) (0) | 2018.12.06 |
WIN32 API- 파일의 입출력(CreateFile) (0) | 2018.12.06 |