BREW应用的c++实现注意点
- 编辑:admin -BREW应用的c++实现注意点
uint32 dwParam); //事件处理惩罚大众接口,引用资源 8、bar资源文件的引入: 9、非主体类中声明brew接口变量,静态类型?? CPPApp * pCPPApp引用pCPPApp-OnEvent(); static void freeAppData(CPPApp * pCPPApp); static boolean InitAppData(IApplet *pIApplet); // static类型??便于brew c模式的调用?? protected: boolean OnAppInitData(); //Onxxxxxx:暗示类封装的xxxxxx事件处理惩罚。
IShell* pIShell, wParam, uint16 wParam,岂论是用IWINDOW照旧StateMachine,所以从情况来说,uint16, 0,BREW开发是可以应用C++语言的,必需要完成下面的一些步调: 1、C++头文件中类界说: //cppapp.h #ifndef _cppapp_h_ #define _cppapp_h_ //类界说 class CPPApp : public AEEApplet { } #endif 2、在类界说前, uint32 dwParam); //主体类封装的事件处理惩罚 } (b) cppapp.cpp中: boolean CPPApp::HandleEvent(CPPApp *pCPPApp,(AEEHANDLER)CPPApp::HandleEvent, AEEEvent eCode,也是有可用的C++编译器, pIShell。
(IApplet**)ppobj, dwParam); } 结论:1,。
好比界说符重载等。
并且任何支持BREW的手机都可以运行通过ARM大概GCC编译连接出来的方针代码, m_di.cxScreen。
0,对付ARM大概GCC来说, (void **)m_pIDisplay); //Writer使用的参数IShell* pIShell来自“#include "AEEShell.h"”,#include将需要引用的头文件引入: #include "AEEAppGen.h"//主体类担任AEEApplet #include "AEEModGen.h" #include "AEEMenu.h" //类cppapp中界说IMenuCtl接口成员变量 ------------------------------------------------------------ 3、措施主体类应担任AEEApplet作为其子类:class CPPApp : public AEEApplet 4、事件处理惩罚机制的类封装如下: (a) cppapp.h中: { public: static boolean HandleEvent(CPPApp * pCPPApp,通用机制 boolean OnEvent(AEEEvent eCode。
若要让一个用C++语言写的BREW措施运行起来,some.h中#define若some.h被其它other.h引入, uint32 dwParam) { return pCPPApp-OnEvent(eCode, IModule* pIModule, 但是我们一般所见到的BREW例子都是用C写的,可在other.cpp中使用 ,主体类静态大众接口HandleEvent, 其实BREW开发是完全支持C++语言的, void **ppobj) //各参数是brew框架传入值 { if(clsID == AEECLSID_CPPAPP) { if(!AEEApplet_New(sizeof(CPPApp)。
对付C++的例子所见不多,引入相应头文件: #include "AEEDisp.h" //类中声明IDisplay*接口成员 ----------------- #include "AEEShell.h" ----------------- Writer(IShell* pIShell); { ----------------- ISHELL_CreateInstance(pIShell,引用资源 7、在非主体类cpp文件中头文件引入: #include "otherclass.h" #include "AEEStdLib.h" //引入类实现中引用的如STRCPY等助手函数地址的头文件 #include "cppapp_res.h" //类实现中引用resorceID。
AEECLSID_DISPLAY,www.1password.cn,主体类掩护成员OnEvent(AEEEvent,可通用 void OnAppfreeData(); //释放措施分派资源,类中调用onEvent完成事件响应; 5、C++中措施入口。
pIModule, (PFNFREEAPPDATA)CPPApp::freeAppData)) //注册c++中实现的事件处理惩罚和措施数据释放函数 return EFAILED; if (!CPPApp::InitAppData((IApplet *)*ppobj)) //初始化措施数据 return EFAILED; return SUCCESS; } return EFAILED; } 6、主体类的cppapp.cpp文件中头文件引入: #include "cppapp.h" #include "otherclass.h" //引入需要的c++类头文件 #include "cppapp.bid" //AEEClsCreateInstance中的clsID的判断 #include "AEEStdlib.h" //引入类实现中引用的如STRCPY等助手函数地址的头文件 #include "cppapp_res.h" //类实现中引用resorceID,www.beatit.cn,掩护成员 //初始化措施数据, uint16 wParam,uint32)封装类对事件的响应; 2, clsID,必定支持C++语言了,从VC6.0的调试器来说吧,下面直接引用; ----------------- IDISPLAY_EraseRgn(m_pIDisplay,uint16 wParam, 做过BREW开发的都知道,都是应用的C语言,而对付具有优良思想的面向工具的C++语言却应用的不多。
事件处理惩罚机制的注册: extern "C" // 便于brew c模式的调用?? //AEEClsCreateInstance只能在c模式下被brew调用作为措施入口?? int AEEClsCreateInstance(AEECLSID clsID,www.mydraw.cn,下面我就对一般的C++语言开发BREW做一下扼要阐明, AEEEvent eCode,建设m_pIDisplay,并且编译器也是回收的C编译器,并且对付C++的BREW需要做更多的工作, m_di.cyScreen); //引用已建设成员变量; ----------------- } 10、#define的使用: cpp中#define不能被其它cpp引用。