Symbian OS C++高效编程

Symbian OS C++高效编程
作 者: Stichbury
出版社: 人民邮电出版社
丛编项: 移动开发系列丛书
版权说明: 本书为出版图书,暂不支持在线阅读,请支持正版图书
标 签: C++
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

  Jo Stichbury毕业于Cambridge的Magdalene学院,并在那里获得了Stothert Bye奖学金。她有一个自然科学的硕士学位,一个有机钼化合物化学的博士学位。在Imperial学院经过一段时间的博士后研究后,她于1997加入了Psion Software。那时Symbian OS还只是被称为EPOC32。从那时到现在,她一直在使用这个操作系统,无论是在Sybmian的“基础、连接和安全团队”,还是在Advansys、Sony Ericsson和Nokia。正如本书内容中所展示的,Jo在一定程度上对Clanger和希腊神话有着很不一般的兴趣。她现在和她的搭档以及两只猫住在温哥华。

内容简介

本书讲解了Symbian OS的关键特性,并且展示了如何高效地使用这些知识。以及应用于Symbian OS的良好C++风格的一些内容。同时每章又展示了最佳的实践并阐明了所有要避免的常见错误。描述了适用于所有Symbian OS版的操作系统核心,及用户接口等。本书适合于使用Symbian OS进行程序开发的人员。本书旨在帮助读者编写良好的基于Symbian OS的C++程序。全书共分为21章,分别介绍了Symbian OS中的类命名约定、异常退出、清除栈、两段构造、描述符、良好的描述符风格、动态的数组与缓冲区、使用活动对象的事件驱动多任务、活动对象、Symbian OS的线程与进程、客户/服务器原理、客户/月艮务器框架实践、二进制类型、ECOM、严重错误、用断言发现bug、调试宏与测试类、兼容性、轻量级模板、API、良好的编码风格等内容。本书适合于使用Symbian OS进行程序开发的人员。

图书目录

第l章Symbian OS中的类命名约定

1.1 基本类型

1.2 T类

1.3 C类

1.4 R类

1.5 M类

1.6静态类

1.7使用者注意事项

1.8 小结

第2章异常退出(leave):Symbian OS的异常

2.1异常退出函数

2.2 使用NeW(ELeave)进行基于堆的内存分配

2.3构造函数与析构函数

2.4使用异常退出函数

2.5用TRAP和TRAPD捕获异常退出

2.6 LeaveScan

2.7 小结

第3章清除栈

3.1使用清除栈

3.2清除栈是如何工作的

3.3对非CBase派生类使用清除栈

3.4使用TCleanupItem实现定制清除

3.5 可移植性

3.6对于使用转型(cast)的附加说明

3.7 小结

第4章 两段构造

第5章描述符:Symbian OS中的字符串

5.1 不可修改的描述符

5.2 修改的描述符

5.3指针描述符

5.4基于栈的缓冲描述符

5.5基于堆的缓冲描述符

5.6字面描述符

5.7 小结

第6章 良好的描述符风格

6.1 作为参数和返回类型的描述符

6.2一般描述符方法

6.3使用HBufC堆描述符

6.4外部化和内部化描述符

6.5 TFileName的过度使用

6.6 在描述符操纵方向有用的类

6.7 小结

第7章 动态数组与缓冲区

7.1 CArrayX类

7.2 RArray<class T>和RPointerArray<class T>

7.3 为什么要用RArray代替CArrayX

7.4动态描述符数组

7.5 定长数组

7.6动态缓冲区

7.7 小结

第8章使用活动对象的事件驱动多任务

8.1 多任务基础

8.2事件驱动多任务

8.3使用活动对象

8.4示例代码

8.5 没有活动调度器的线程

8.6应用程序代码和活动对象

8.7 小结

第9章 活动对象揭密

9.1活动对象基础

9.2活动对象的职责

9.3异步服务提供者的职责

9.4活动调度器的职责

9.5启动活动调度器

9.6嵌套活动调度器

9.7扩展活动调度器

9.8 撤消

9.9请求完成

9.10状态机

9.11长线任务(Long-Running Task)

9.12 CIdle类

9.13 CPeriodic类

9.14 常见错误

9.15 小结

第10章 Symbian OS的线程与进程

10.1 RThread类

10.2线程优先级

10.3停止一个运行的线程

10.4线程间数据传递

10.5异常处理

10.6进程

10.7 小结

第ll章 客户机,服务器框架原理

11.1 为什么会有客户机/服务器框架

11.2客户和服务器是如何协作的

11.3 客户与服务器如何通信

11.4 客户机/服务器框架使用了哪些类

11.5 同步请求和异步请求有什么区别

11.6如何启动服务器

11.7一个客户可以有多少个连接

11.8 当客户断开连接时会发生什么

11.9如果客户终止会发生什么

11.10如果服务器终止会发生什么

11.11 客户机/服务器通信是如何使用线程的

11.12服务器空间活动对象有什么含义

11.13 局部服务器(与客户处于同一进程中)的优点是什么

11.14客户机/服务器通信的开销有哪些

11.15 一个客户在一个服务器中可以有几个当前请求

11.16可以对服务器功能加以扩展吗

11.17示例代码

11.1 8 小结

第12章 客户机,服务器框架实践

12.1 客户机/服务器请求代码

12.2客户样板代码

12.3启动服务器并连接上客户

12.4服务器启动代码

12.5 服务器类

12.6服务器关闭

12.7访问服务器

12.8 小结

第13章二进制类型

13.1 Symbian OS的EXE

13.2 Symbian OS的DLL

13.3可写的静态数据

13.4线程局部存储(Thread-Local Storage)

13.5 DLL装载器

13.6 UID

13.7 targettype限定符

13.8 小结

第14章 ECOM

14.1 ECOM的架构

14.2 ECOM接口的特性

14.3 工厂方法

14.4实现一个ECOM接口

14.5 资源文件

14.6示例客户代码

14.7小结

第15章严重错误(Panic)

15.1 即时调试

15.2 良好的严重错误风格

15.3 Svmbian OS严重错误的分类

15.4让另一个线程发生严重错误

15.5故障(fault)、异常退出和严重错误

15.6 小结

第16章 用断言发现bug

16.1 ASSERT DEBUG

16.2 ASSERT ALWAYS

16.3 小结

第17章 调试宏与测试类

17.1 堆检查宏

17.2 对象恒定宏

17.3 用RTest进行控制台测试

17.4 小结

第18章兼容性

18.1 向前和向后兼容性

18.2源代码兼容性

18.3 二进制兼容性

18.4 防止破坏兼容性

18.5在不破坏二进制兼容性的情况下可以做哪些变更

18.6最佳实践:为未来的变化做打算

18.7兼容性与Symbian OS类的类别

18.8 小结

第19章轻量级模板

第20章 展示一个全面而易理解的API

20.1 类布局

20.2 IMPORT C和EXPORT C

20.3参数和返回值

20.4成员数据和功能抽象

20.5 选择类、方法和参数的名字

20.6编译器生成的函数

20.7小结

第2l章 良好的编码风格

21.1减小代码尺寸

21.2小心地使用堆内存

21.3小心地使用栈内存

21.4消除了表达式,最大化代码效率

21.5推迟优化

21.6 小结

附录l代码检查列表

类的声明

头文件

注释

构造函数

析构函数

分配与删除

清除栈和异常退出安全

循环与程序流控制

程序逻辑

描述符

容器

附录2术语表

附录3参考书目及在线资源