cocos2d-x main.cpp详解

//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 );


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值