posted by REDFORCE 2017. 4. 6. 16:50

#1. Engine System

 + WinMain - EngineSystem (현재 글)

 + EngineCore

 + EngineError

 + MainNode


#2. FrameWork

 + Grahpics

 + Image - SpriteData

 + Layer

 + Input

 + Game

 + Manager

 + Game Interface

 + Utility


#3. Testing Module

 + 2D Image Test

 + 2D Animation Test

 + Game UI Test


-----------------------------------------------------------------------


이번 글에서는 엔진이 시작하기 까지의 Main 함수의 구성과 Engine System Class에 대해서 살펴보도록 하겠습니다.



아래의 winMain을 살펴보시면 간단하게 다음과 같습니다.


메인의 구성은 간단하게 EngineSystem Class 하나를 갖고 있고


WINAPI WinMain( ) 함수가 실행되면서 프로그램의 진입점이 정의되어 있습니다.



그리고 그 외 갖가지 글로벌 변수들에 대한 초기화가 이루어져 있습니다.


글로벌 변수들에 대한 설명은 추후 stdafx.h (미리 컴파일 된 헤더) 를 설명 할때 같이 설명하도록 하겠습니다.



    // Check for memory leak if debug build

    #if defined(DEBUG) | defined(_DEBUG)

        _CrtSetDbgFlag( _CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF );

    #endif


는 메무리 누수가 발생했을 시 디버그 모드 환경에서 결과를 출력하기 위해 사용하는 함수 입니다.


프로그램이 종료 시 프로젝트에서 누수 된 메모리 주소영역들이 우르르 나오게 됩니다.


해당 누수 된 메모리를 체이스 하는 방법에 대해서는 별도의 글로 적어놓도록 하겠습니다.


if (!engine.engineStart(hInstance, nCmdShow))

return 1;

위와 같이 EngineStart 함수를 호출하고 return 받은 값이 true 이면


아래의 return engine.run();


함수를 호출하여 엔진을 Run 시킵니다.


이번 글에서는 간단히 메인만 남겨두고 계속해서 다음 글로 적어나가도록 하겠습니다.

(왠만하면 클래스 별로 글을 나눠서 올릴 예정입니다)

'MyProject > SephyEngine' 카테고리의 다른 글

June_Engine #1_EngineError.h  (0) 2017.04.07
June_Engine #1_EngineCore.cpp (2)  (0) 2017.04.07
June_Engine #1_EngineCore.h (1)  (0) 2017.04.06
June_Engine #1_EngineSystem  (0) 2017.04.06
June_Engine #1_메뉴얼(Manual)  (0) 2017.04.05