zoukankan      html  css  js  c++  java
  • 使用C++进行BREW编程

       高通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
     
  • 相关阅读:
    ios 开发证书制作
    iOS UILable 高度自适
    asp 中创建日志打印文件夹
    ios iphone、ipad启动画面尺寸
    ios 更改UITableview中Section的字体颜色
    Azure Blob 存储简介
    java追加文件
    java读取文件
    DNS原理及其解析过程
    单点登录原理与简单实现
  • 原文地址:https://www.cnblogs.com/secbook/p/2655514.html
Copyright © 2011-2022 走看看