高通SDK里面教我们创建工程的方式默认是使用C语言,不过有时候使用C++会比较方便,本文介绍怎么在BREW里搭建一个C++的框架。
1、 首先按照高通的方法新建一个工程,暂时命名为“
test”,这样在生成的工程下会自动产生“
test.c”文件。
2、 新建一个工程头文件,命名为“test.h”,里面实现一个类
TestCpp,代码如下:
class
TestCpp: public AEEApplet //类必须继承自AEEApplet
{
public:
static boolean HandleEvent(TestCpp* pTestCpp, AEEEvent eCode,
uint16 wParam, uint32 dwParam);
protected:
//add your codes here
};
3、 把“test.c”重命名为“test.cpp”, 然后在“test.cpp”文件里作如下修改:
①原来int AEEClsCreateInstance函数改成如下:
extern "C" int AEEClsCreateInstance(AEECLSID ClsId,IShell * pIShell,
IModule * pIModule, void ** ppApplet)
{
AEEApplet* pMe = 0;
*ppApplet = NULL;
if(ClsId == AEECLSID_TEST ) //your classID
{
if(!AEEApplet_New(sizeof(TestCpp), ClsId, pIShell, pIModule,
(IApplet**)ppApplet, (AEEHANDLER)
TestCpp::HandleEvent,
NULL) )
return EFAILED;
pMe = (AEEApplet*)(*ppApplet);
if (!pMe)
return(EFAILED);
return(SUCCESS);
}
else
return(EFAILED);
}
②原来
static boolean test_HandleEvent函数改成如下:
boolean
TestCpp::HandleEvent(
TestCpp* pApp, AEEEvent eCode,
uint16 wParam, uint32 dwParam)
{
AECHAR text[] = L"Hello BREW C++";
AEEApplet* pMe = (AEEApplet*)pApp;
switch (eCode)
{
case EVT_APP_START:
// Add your code here .....
IDISPLAY_DrawText ( pMe->m_pIDisplay,
AEE_FONT_LARGE,
text,
-1,
0,
0,
NULL,
IDF_ALIGN_CENTER|IDF_ALIGN_MIDDLE
);
IDISPLAY_Update(pMe->m_pIDisplay);
return(TRUE);
case EVT_APP_STOP:
// Add your code here .....
return TRUE;
default:
break;
}
return FALSE;
}
③编译运行,就会看到你的屏幕中间显示“Hello BREW C++”了。^_^ Congratulations!
转载请保留以下信息:
作者(Author):smilelance
时间( Time ):2006.09.28
出处( From ):http://blog.csdn.net/smilelance
作者(Author):smilelance
时间( Time ):2006.09.28
出处( From ):http://blog.csdn.net/smilelance