//win32中的main.cpp
#if CC_TARGET_PLATFORM == CC_PLATFORM_WIN32
#include "main.h"
#include "../Main/AppDelegate.h"
#include "cocos2d.h"
USING_NS_CC;
//_tWinMain windows函数的真正入口程序
int APIENTRY _tWinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPTSTR lpCmdLine,
int nCmdShow)
{
//define UNREFERENCED_PARAMETER(p) (p)
UNREFERENCED_PARAMETER(hPrevInstance);
UNREFERENCED_PARAMETER(lpCmdLine);
// create the application instance
AllocConsole( );//为调用进程分配一个新的控制台
//实现重定向,把预定义的几个标准流文件定向到CONIN$文件中,在使用cin或者scanf输入时不会从标准输入流提取数据,而是从CONIN$文件中获取
//只要事先把输入粘贴到文件中,调试时就方便多了
freopen( "CONIN$", "r", stdin );
freopen( "CONOUT$", "w", stdout );
freopen( "CONOUT$", "w", stderr );
// create the application instance
AppDelegate app;
return Application::getInstance()->run();
}
#endif
1、APIENTRY = WINAPI = _stdcall 声明了函数从右到左将参数压栈并由并调用者清理堆栈的调用约定
2、tWinMain win32中真正的程序入口函数 根据字符集的不同 有不同的调用
1 #ifdef _UNICODE 3 #define _tWinMain wWinMain 5 #else 7 #define _tWinMain WinMain 9 #endif
3、 UNREFERENCED_PARAMETER(hPrevInstance) 没啥意义
define UNREFERENCED_PARAMETER(p) (p)
4、为调用进程分配一个新的控制台
实现重定向,把预定义的几个标准流文件定向到CONIN$文件中,在使用cin或者scanf输入时不会从标准输入流提取数据,而是从CONIN$文件中获取
只要事先把输入粘贴到文件中,调试时就方便多了
AllocConsole( );
freopen( "CONIN$", "r", stdin );
freopen( "CONOUT$", "w", stdout );
freopen( "CONOUT$", "w", stderr );