当前位置: 首页 > news >正文

《BREW进阶与精通——3G移动增值业务的运营、定制与开发》连载之54---BREW SDK 九大功能之其他服务...

帮助函数就是一种典型的其他服务。在BREW 的应用程序中,不能直接调用标准C库函数,而是要借助手函数来实现相应的功能。帮助函数实现了标准的ANSI C 库函数,在应用程序中不能调用标准的C库函数,而是调用帮助函数API代替之。应用程序可直接调用帮助函数,而不需要接口指针减少了不必要的对标准C类库的链接,减少了动态应用程序中的不必要的静态数据,使得应用程序可移植。例如,在BREW 运行环境中动态开辟内存时只能使用助手函数MALLOC()而不能是标准C库函数malloc( ):释放内存时则只能调用FRE以等。在字符串处理方面,BREW提供了STRCPY(), STRCAT()STRDUP()等助手函数。BREW 应用程序中的浮点运算不能直接使用+、一、X/等运算符,而是要借助FADD ()FSUB ()FMUL()FDIV ()等助手函数实现浮点数的运算。

BREW中的数据结构有四种主要类型:

结构和联合:一些BREW函数使用结构指针作为输入参数。要使用此类函数,需提供一个结构实例,并在调用函数时传递指向该实例的指针。一些BREW函数则可能返回结构指针作为输出。

枚举类型:有的BREW变量和结构成员从C typedef枚举结构所定义的有限集中取值。例如,文本绘制函数所支持的字体类型即由枚举类型定义指定。

常量定义:BREW函数使用的常量是由#defin。语句定义的宏。一种常见用法是定义一组位掩码,以测试和设置位向量变量中的位值。每个控件定义一组位掩码常量,用于测试和设置各种控件属性值。

宏定义:BREW 中把大量的函数指针,接口的函数调用定义为宏或者是typedef

此外,BREW还使用typedef定义了许多属于BREW用到的基本类型,比如说intsint16int32uintsuint16uint32typedef类型,其实就是C语言中的8位,16位,32位的有符号或者无符号数。这里需要特别指出的是,C语言中没有boolean类型,BREW中使用typedef定义了unsigned char类型作为boolean类型,取值是宏定义TRUEFALSE

这里将与手机相关的特色服务也放在其他服务之中,例如IBacklight实现对手机中背光显示的支持,IBatteryIBatterNotifier相结合可以得到手机中电源的状态信息等。

相关文章:

  • 精仿苹果x开机android,800元高仿iPhone X以假乱真!更可怕的是奸商套路
  • html 将div转换成图片大小,css resize属性将div变成可以拖动修改大小配合object-fit实现图片大小适应的效果...
  • 物联网,中国和欧盟的差距在哪里?
  • 华为鸿蒙是否投入使用,华为鸿蒙系统如果投入商用,你会放弃安卓吗?网友说出三种答案!...
  • 如果现在的学习让你焦头烂额,那就进来看看吧… _送那些迷途羔羊
  • 通过webview加载进来html,如何将HTML模板加载到WebView中?
  • TD无线座机将何去何从?
  • 苹果手机html吊起拍照,苹果手机拍照教程,教你如何用iPhone拍出大片
  • INDEX_STATS
  • 台式计算机如何升级,老电脑如何升级 老电脑升级方法【详细介绍】
  • 由修桌子引发的思考_小事现大智
  • 怎么设置台式计算机密码忘了,电脑开机密码忘记怎么办 多种方法轻松解决【图文教程】...
  • 在外部JS文件中获得asp.net控件的clientid
  • 求职信英语计算机作文,英语作文-求职信(范文)
  • C++ 中的反射
  • el-input获取焦点 input输入框为空时高亮 el-input值非法时
  • iBatis和MyBatis在使用ResultMap对应关系时的区别
  • IIS 10 PHP CGI 设置 PHP_INI_SCAN_DIR
  • Iterator 和 for...of 循环
  • k个最大的数及变种小结
  • Map集合、散列表、红黑树介绍
  • maya建模与骨骼动画快速实现人工鱼
  • mysql常用命令汇总
  • springMvc学习笔记(2)
  • 关于使用markdown的方法(引自CSDN教程)
  • 猴子数据域名防封接口降低小说被封的风险
  • 精彩代码 vue.js
  • postgresql行列转换函数
  • 通过调用文摘列表API获取文摘
  • ​决定德拉瓦州地区版图的关键历史事件
  • #Java第九次作业--输入输出流和文件操作
  • #我与Java虚拟机的故事#连载07:我放弃了对JVM的进一步学习
  • (52)只出现一次的数字III
  • (js)循环条件满足时终止循环
  • (附源码)ssm高校社团管理系统 毕业设计 234162
  • (附源码)计算机毕业设计ssm高校《大学语文》课程作业在线管理系统
  • (转)IIS6 ASP 0251超过响应缓冲区限制错误的解决方法
  • (转)visual stdio 书签功能介绍
  • (转)关于如何学好游戏3D引擎编程的一些经验
  • .form文件_一篇文章学会文件上传
  • .Net Core 中间件验签
  • .NET MVC 验证码
  • .NET 反射的使用
  • @Autowired @Resource @Qualifier的区别
  • [ C++ ] STL_vector -- 迭代器失效问题
  • [BZOJ4010]菜肴制作
  • [Contiki系列论文之2]WSN的自适应通信架构
  • [DP 训练] Longest Run on a Snowboard, UVa 10285
  • [Erlang 0129] Erlang 杂记 VI 2014年10月28日
  • [IDF]聪明的小羊
  • [JAVA设计模式]第二部分:创建模式
  • [Linux] MySQL数据库之索引
  • [MYSQL]mysql将两个表结果合并到一起
  • [NOIP2013]华容道
  • [UML]UML系列——类图class的实现关系Realization