본문 바로가기
나머지/IT개발.잡다한것.

MFC( extern "C" int WINAPI _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, )

by 무늬만학생 2012. 2. 10.
반응형
extern "C" int WINAPI
_tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPTSTR lpCmdLine, int nCmdShow)
{
// call shared/exported WinMain
return AfxWinMain(hInstance, hPrevInstance, lpCmdLine, nCmdShow);
}

mfc에서 f10누르면 첨에나옴...


리턴값뭐지
extern "C" int WINAPI
_tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPTSTR lpCmdLine, int nCmdShow)
{
// call shared/exported WinMain
return AfxWinMain(hInstance, hPrevInstance, lpCmdLine, nCmdShow);
}


@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

Win32 vs. MFC - Part I
By Mehdi Mousavi | 2 Aug 2001

 http://www.codeproject.com/Articles/1284/Win32-vs-MFC-Part-I  





@@@@@@@@@@@@@@@@@@@@@@@@@@@@@



@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
http://gpgstudy.com/forum/viewtopic.php?t=2892&view=previous&sid=9da206e00253c86eaffbbacc956d2edb
WinMainCRTstartup 에 대해서 질문입니다. 올려짐: 2004-01-16 17:45
  
다른분이 작성하신 소스를 분석하고 있는대요...(DX9.0 기반 3D게임입니다..) 
엔트리포인트가 
WinMain() 아니라.. 
WinMainCRTStartUp이라는 것이더군요... 
이것이 무엇이며....이것을 사용안할수는 없는것인가요?

------
사실은... 올려짐: 2004-01-16 19:43  
원래 WinMain은 엔트리포인트가 아닙니다. 엔트리포인트는 링커에 의해서 정해지기 마련인데 비쥬얼씨에서는 엔트리포인트로 쓰이는 다른 함수들이 존재합니다. 
엔트리포인트는 프로젝트옵션의 링커부분의 Output항목에서 정해줄 수 있습니다. 이 항목을 특별히 정해주지 않았을 때 디폴트로 들어가는 것이 WinMainCRTStartup함수입니다. (WIN32어플리케이션의경우) 
c:\Program Files\Microsoft Visual Studio\VC98\CRT\SRC\CRT0.C 에 소스가 있고, 보시면 WinMainCRTStartup 함수에서 WinMain을 호출하는 것을 볼 수 있습니다.

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
http://robotc.tistory.com/36

코드에서
MFC int APIENTRY _tWinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPTSTR lpCmdLine,int nCmdShow)
C++ Void main()
C# public Form1() 

int APIENTRY _tWinMain 와 같은 코드가 있는데 이것은 다른 언어의 시작 점과 같다. MFC _tWinMain 에서 _t는 유니코드를 의미한다

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
http://blog.naver.com/PostView.nhn?blogId=k7102147&logNo=150029897435

windows API프로그램의 entry point!!!
C의  main()에 해당!
 
WinMain함수 원형
int WinMain ( HINSTANCE hInstance,   
                  HINSTANCE hPrevInstance,
                  LPSTR lpCmdLine,
                  int nCmdShow
                );
 
 
      HINSTANCE hInstance         // 프로그램의 현제 핸들, 프로그램의  인스턴스 핸들  
                                           // 프로그램 자체를 일컫는 정수값이며 프로그램 내부에서 자기 자신을 가르치는 1인칭명사
      HINSTANCE hPrevInstance   // 바로 앞에 실행된 현재 프로그램의 인스턴스 핸들. 없을 경우는 NULL
      LPSTR lpCmdLine                // 명령행으로 입력된 프로그램 인수, 도스의 argv인수의 해당
                                           // 프로그램을 시작시킨 명령 라인을 포함 하고있는 문자열에 대한 포인터  char* argv[]
                                           //그럼 PSTR 은뭐지 명령행으로 입력된 프로그램 인수
      int nCmdShow                   // 윈도우가 생성될 때 그것이 어떻게 보이는지를 나타냄 (최소화, 보통모양 등등)
 
인스턴스(instence) : 클레스가 메모리에 실제로 구현되는 실체

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

반응형