Symbian OS C++编程诀窍

出版时间:2010-1  出版社:清华大学出版社  作者:(美)奥布里 等著,杜青 译  页数:297  译者:杜青  
Tag标签:无  

前言

本书是为那些时间紧迫的开发者而设计的。 作为开发者的您有可能被告知:需要把一些最初为其他操作系统开的程序(比如,运行在台式机上的程序)移植到Symbian OS。也有可能您不得不调研,以确定Symbian OS是否适合实现一个出自您设计师朋友的想法。但问题在于,您没有足够多的时间,而且您也听说过Symbian OS是一个成熟稳定而又复杂丰富的系统,学习起来并不轻松。 如果您的想法和大多数软件工程师的一样,您很可能希望能花些时间去调研这些任务。您可能更倾向于去参加一个培训,或者从Symbian OS已存在的广泛文档资料中找出解决方案。然而,我猜想您并没有充裕的时间那么做——因为您要面对的是紧迫的进度表所带来的压力。您也难以挤出足够的空闲时间来进行宽泛的研究。您的上司需要您周末就做出报告,所以您不得不尽快找出答案。 这就是Symbian Press出版本书的原因。这里我们假设您是聪明、机智的软件工程师,并且已经掌握了C++语言和一些现代软件编程方面的方法和模式。您愿意努力学习,并且能快速掌握要点。您已经做好了暂时对一些问题不加深究的准备,这样带来的好处是您可以快速找出在Symbian OS中完成各种不同任务的方法。随着学习的深入,您很可能希望去了解更多的背景知识以及Symbian OS的深层原理,但是沉住气——当务之急是:您需要找到一些速成的诀窍。 恭喜您,本书就为您提供了这些诀窍!

内容概要

对于初次接触Symbian OS的C++程序员来说,本书是必读的,它从最基础的知识入手,向读者展示了基于Symbian开发手机应用程序的知识和技巧。  在移动开发领域,不管您是需要移植一个桌面应用程序,快速创建一个程序原型,还是仅仅希望学习一些程序开发的知识,本书都将是您了解和学习Symbian OS的首选。同时,本书还是帮助读者解决移动开发难题的实用手册,尤其是第4章,以任务驱动的方式介绍了Symbian OS手机开发的难点,并列举了作者多年积累的一些开发诀窍。每个任务都事先指明了难度等级、完成需要的时间等,之后是如何完成该任务的细节以及编程窍门。  本书特色:  ● 从Symbian OS移动开发基础知识入手,涵盖Symbian OS所有技术:图形和绘图、多媒体、网络、基于位置的服务、通话、短信息等。  ● 以任务驱动的方式来介绍Symbian OS开发技术,在介绍技术的同时,指出其实际应用。  ● 作者多年开发经验的总结,多达112个编程诀窍,将使读者少走许多弯路。

作者简介

Michael Aubert在Symbian的Java组和iAnywhere的研发组总共工作了7个年头。期间,他对包括手机通话、短信息、3D图像、网络、多媒体、PIM、密码、系统安全及软件部署在内的许多技术都有很深入的研究。
  他拥有E.S.I.A.L软件工程学院的理学硕士学位,并且还很有可能是唯一一

书籍目录

第1章 入门和设置   1.1 工具:您需要什么以及从哪里获得    1.1.1 系统需求    1.1.2 IDE    1.1.3 SDK    1.1.4 编译器   1.2 当等待安装时    1.2.1 Carbide.c++    1.2.2 开发社区    1.2.3 移动开发的概念    1.2.4 ARM硬件    1.2.5 模拟器   1.3 安装结束后    1.3.1 命令行工具    1.3.2 SDK的目录结构    1.3.3 模拟器  第2章 快速上手   2.1 Hello World项目模板   2.2 运行Carbide.c++ IDE   2.3 生成Hello World项目   2.4 构建Hello World项目   2.5 在模拟器上运行Hello World程序   2.6 在设备上运行Hello World程序   2.7 修改Hello World项目    2.7.1 添加一个新的菜单项    2.7.2 处理菜单事件   2.8 Carbide.c++高级议题    2.8.1 修改项目文件    2.8.2 导入项目文件    2.8.3 改变认证/密钥对   2.9 链接  第3章 Symbian OS开发基础   3.1 Symbian OS的基本数据类型   3.2 Symbian OS的类习俗    3.2.1 T类    3.2.2 C类    3.2.3 R类    3.2.4 M类    3.2.5 静态类   3.3 异常退出和异常处理    3.3.1 严重错误Panic和异常退出的区别    3.3.2 TRAP和TRAPD宏    3.3.3 是什么造成了异常退出    3.3.4 new(ELeave)   3.4 清除栈   3.5 清除栈常见问题:更多信息    3.5.1 为什么PushL()会异常退出    3.5.2 在使用清除栈的时候为什么会出现严重错误    3.5.3 当代码运行出TRAP以后为什么会出现严重错误    3.5.4 当调用CleanupStack::Pop()时为什么会产生严重错误    3.5.5 应该如何综合使用异常退出、标准异常处理以及清除栈   3.6 两阶段构造   3.7 瘦模板   3.8 描述符——Symbian OS字符串    3.8.1 字符大小    3.8.2 TDesC    3.8.3 TDes    3.8.4 描述符的继承类    3.8.5 指针型描述符:TPtrC和TPtr    3.8.6 基于栈缓存的描述符TBufC和TBuf    3.8.7 动态描述符:HBufC和RBuf    3.8.8 使用RBuf    3.8.9 字面描述符    3.8.10 描述符类型:总结    3.8.11 使用描述符API    3.8.12 用作函数参数和返回值的描述符   3.9 Symbian OS中的数组    3.9.1 静态数组    3.9.2 动态数组    3.9.3 RArray类的清除    3.9.4 什么时候应该使用CArrayX数组    3.9.5 排序和查找   3.10 可执行文件   3.11 平台安全:能力   3.12 平台安全:数据隔离   3.13 栈大小和堆大小   3.14 流   3.15 活动对象     3.15.1 抢占    3.15.2 CActive类    3.15.3 TRequestStatus类    3.15.4 活动调度器    3.15.5 使用活动对象时的常见问题   3.16 线程   3.17 时钟和回调函数   3.18 小结  第4章 Symbian C++诀窍  第5章 更上一层楼  第6章 发布程序

章节摘录

插图:在单个的应用程序线程中,活动对象之间是独立运行的,这有点类似于线程在同一个进程内是相互独立的。简单介绍之后可以发现,在单个线程中切换活动对象比线程内容切换负担要小,这对于Symbian OS上的轻量级多任务事件驱动来说是非常理想的。3.15.1抢占在一个单独的线程内,活动对象构架采用的是非抢占多任务机制。一旦被唤起,其事件处理就必须被运行直到完成,之后才可以运行其他活动对象的事件处理——不可以被抢占。一些事件对请求的响应时间有严格的限定,而不管系统中其他的活动如何(比如低级别的通话模块)。这被称作“实时”事件处理。活动对象不适合用在实时任务中,Symbian OS中的实时任务应该用高优先级的线程来实现。Symbian OS的线程被内核以可抢占的方式调度,总是去运行那些符合条件的最高优先级的线程。内核控制线程的调度,允许线程以划分的时间片来共享系统资源,如果一个更高优先级的线程达到运行条件,则可以抢占当前运行的线程。在当前线程被挂起时(比如它被阻塞、用完了自己的时间片或一个更高优先级的线程变为等待运行状态时),会产生一个内容切换,在内核调度下另一个线程成为当前线程并开始运行。如果最初的线程和要替换的线程运行在不同的进程、内存控制单元或硬件缓存中,则内容切换从内核调度的角度会产生一个运行时的开销。

编辑推荐

《Symbian OS C++编程诀窍》:移动与嵌入式开发技术

图书封面

图书标签Tags

评论、评分、阅读与下载


    Symbian OS C++编程诀窍 PDF格式下载


用户评论 (总计7条)

 
 

  •   有一定C++基础看好点
  •   还行,只是例子少了点
  •   感觉一般。不过对于初级者有借鉴。
  •   各个技巧的内容就提了一笔,不适合初学者。
  •   这本书很好。适合有一定基础的人。
  •   书是好书,不过不太适合一开始学用这本书,都随便一提。稍微学了点后当参考手册很好
  •   建议要有c++基础再看,不过确实是不错的书。
 

250万本中文图书简介、评论、评分,PDF格式免费下载。 第一图书网 手机版

京ICP备13047387号-7