一般Win32程序入口点为 WinMainCRTStartup()
extern "C" void WinMainCRTStartup()
{
int mainret;
// 获取Win32的版本
int _ver = GetVersion();
// 创建了一个属于该进程的私有堆
if ( !_heap_init(0) )
fast_error_exit(_RT_HEAPINIT);
__try {
// 初始化低级IO
_ioinit();
// 获取命令行缓冲区指针
_acmdln = (char *)GetCommandLineA();
// 获取环境变量指针
_aenvptr = (char *)__crtGetEnvironmentStringsA();
// 设置argv参数
_setargv();
// 设置环境变量
_setenvp();
// 初始化C数据
_cinit();
__initenv = _environ;
// 调用WinMain函数
mainret =WinMain(__argc, __argv, _environ);
exit(mainret);
}
__except ( _XcptFilter(GetExceptionCode(), GetExceptionInformation()) )
{
_exit( GetExceptionCode() );
}
}
此函数可覆盖,从而使程序入口点指向自己的入口函数