J2Y
Win32 API
API 세미나 실습 파일1 :) WinMain.cpp, Global.h, std.h
imj2y
2008. 7. 21. 23:52
WinMain.cpp
#include <windows.h> #include "./FrameWork.h" // API 메인 함수 // (C++의 int main(void)와 같음) int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int iCmdShow) { // hInstance : 프로그램의 인스턴스 핸들 // hPrevInstance : 바로 앞에 실행된 현재 프로그램의 인스턴스 핸들. // Win32에서는 항상 NULL이다. // 호환성을 위해 존재하는 인수 // IpszCmdParam : 명령행으로 입력된 프로그램의 인수로 도스의 args인수에 해당한다. // nCmdShow : 프로그램이 실행될 형태이며 최소화, 보통 모양 등이 전달된다. // Instance란 클래스가 메모리에 실제로 구현된 실체를 의미한다. CFrameWork *pFrameWork = new CFrameWork(hInstance); if(!pFrameWork->InitApplication()) { return 0; } if(!pFrameWork->InitInstance()) { return 0; } pFrameWork->Run(); delete pFrameWork; return 0; }
Global.h
#ifndef _GLOBAL_H #define _GLOBAL_H #include "./std.h" // 이 헤더 파일은 전역 변수를 선언하는 역활임 // timeGetTIme을 사용하기 위해 쓰는 라이브러리 #pragma comment (lib, "winmm.lib") // extern은 전역 선언 // extern은 메모리 영역을 설정하지 않는다. CPP에서 // 먼저 선언이 되어 있어야 쓸수 있다. // 아래 변수는 FrameWork.cpp에 전역으로 선언되어 있음 extern HWND g_hWnd; #endif
std.h
// 아래 #ifndef는 _STD_H가 define 되어 있지 안으면 실행한다는 의미 // 아래와 같이 하는 이유는 헤더 재정의를 막기위함 // 헤더를 쓸때 아래와 같이 #ifndef, #define, #endif를 쓰거나 // #pragma once쓰는 것이 오류를 예방하고 안전함 // #은 컴파일 함수들임 #ifndef _STD_H #define _STD_H // 반복적인 헤더선언이 번거로워서 만든 헤더 선언 파일 #include <windows.h> #include <stdio.h> #endif </TEXTARA>
공유하기
게시글 관리
J2Y
티스토리툴바