Symbian OS 基础:C++类型重定义与编程规范
需积分: 3 166 浏览量
更新于2024-12-25
收藏 501KB DOC 举报
"诺基亚Symbian操作系统的手册汇编文档主要涵盖了Symbian OS的基础知识,包括基本数据类型、文本处理、布尔型、浮点数、任意类型(TAny)以及编码规范。这份文档强调了使用Symbian自定义类型的重要性,以确保与API的一致性和未来平台兼容性。"
在Symbian操作系统中,为了适应其特定的环境和提高跨平台的兼容性,C++的基本数据类型被重新定义。例如,`TInt`是用作 signed int 的替代,它通常为32位,并且广泛应用于Symbian的API中。`TUint`作为无符号整数,常用于计数器和标记。此外,还有更具体的数据类型如`TInt64`, `TInt32`, `TInt16`, 和 `TInt8`,以及相应的无符号版本。这些类型的使用遵循Symbian C++编码标准,以保证代码的一致性和可维护性。
对于文本处理,Symbian推荐使用描述符(descriptor)而非C++标准库中的`std::string`或`char*`。`TText`是默认的16位文本类型,但在实际编程中,开发者通常会选择使用描述符来处理文本数据。
在布尔类型方面,Symbian使用`TBool`,它是一个int的typedef,具有`ETrue`和`EFalse`两个枚举值。为了避免直接与枚举值比较,建议使用布尔表达式来判断,例如 `if(flag)` 或 `if(!flag)`。
Symbian对浮点数的支持依赖于处理器是否包含浮点运算单元(FPU)。如果没有FPU,处理浮点数的效率会显著降低。因此,如果可能,应尽量避免使用浮点数,转而使用整数运算。`TReal32` 和 `TReal64` 分别对应float和double,而 `TReal` 默认为double类型。
`TAny` 类型在Symbian中是一个通用的指针类型,但通常建议只在需要表示任何类型指针的情况下使用,而其他情况下使用 `void` 更合适。例如,在很多Symbian API函数参数中,可以看到`TAny*`的使用,如`Copy`函数。
最后,关于编码约定,Symbian提倡以`T`开头的类,这类类应当只包含值,不包含指针或外部资源,这样的设计有助于内存管理和对象生命周期的控制。枚举类型应以`T`开头,枚举值以`E`开头,以保持代码的清晰性和一致性。
这份手册为开发Symbian应用的程序员提供了基础的数据类型和编码指导,帮助他们更好地适应Symbian平台的特性并编写出高效、可靠的代码。
107 浏览量
2022-06-22 上传
2021-09-18 上传
2008-11-27 上传
2008-07-15 上传
2008-10-08 上传
2022-12-22 上传
2010-07-15 上传
2022-12-27 上传
pili6
- 粉丝: 0
- 资源: 2
最新资源
- 用于学习vue2、node、MySQL的自研项目.zip
- Python-with-machine-learning
- ufmt:格式化所有代码文件!
- LinhProfile
- 这个是很久之前自己学习MySQL所做的一些笔记.zip
- FLARE21nnUNetBaseline:FLARE21的基线nnUNet模型
- 抛出无法找到主类:org.apache.axis.wsdl.WSDL2Java
- workshop-vue:WorkShop Vue,主要概念介绍
- white-helmets:在白头盔纸上复制RT Disinfo的代码
- Java SSM基于JavaEE的网上图书分享系统【优质毕业设计、课程设计项目分享】
- Panzer-Predicament:作者:安德鲁·李,克里斯托弗·敏和凯文·墨菲
- pantheon-helper:用于 Pantheon 服务的常用 Git 和 Drush 命令的 Bash 菜单
- 孤独聊天
- 源码主要用于学习:1. Spring Boot+Hadoop+Hive+Hbase实现数据基本操作,Hive数据源使.zip
- resr_rpwq.dll库文件
- Kapok 超简单的序列化库