Handle CRT startup

#include <windows.h>

#pragma comment(linker,"/ENTRY:__CRTStartup")

#ifdef _CONSOLE
#    ifdef _UNICODE
     extern "C" int wmainCRTStartup();
#    else
     extern "C" int mainCRTStartup();
#    endif
#else
#    ifdef _UNICODE
     extern "C" int wWinMainCRTStartup();
#    else
     extern "C" int WinMainCRTStartup();
# endif
#endif

int __CRTStartup()
{

#ifdef _CONSOLE
#    ifdef UNICODE
     wmainCRTStartup();
#    else  
     mainCRTStartup();
#    endif
#else
#    ifdef UNICODE
     wWinMainCRTStartup();
#    else  
     WinMainCRTStartup();
#    endif
#endif 

     return 0;
}

 

动态链接库版本: 

#pragma comment(linker,"/ENTRY:__CRTStartup")


extern "C" BOOL WINAPI _DllMainCRTStartup(HINSTANCE hDllHandle, DWORD dwReason, LPVOID lpReserved);

int __CRTStartup(HINSTANCE hDllHandle, DWORD dwReason, LPVOID lpReserved)

{

return _DllMainCRTStartup( (HINSTANCE)hDllHandle,dwReason,0);

posted on 2008-11-28 12:05  cgwolver  阅读(459)  评论(0)    收藏  举报

导航