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
     
  • 相关阅读:
    H3C利用dhcp snooping来禁用某个端口下的DHCP
    onu侧各种pon协议下的技术参数10G
    常见Intel网卡芯片对比,多队列网卡介绍
    esxi6.7 7.0 diy for nvme drivers
    Windows Server 2019 OVF 模板下载
    vSphere 6.5支持512e,NVMe SSD呢?
    何时使用领域驱动设计
    徒手打造基于Spark的数据工厂(Data Factory):从设计到实现
    早产的《HelloGitHub》第 65 期
    最简单的人工神经网络
  • 原文地址:https://www.cnblogs.com/secbook/p/2655514.html
Copyright © 2011-2022 走看看