Symbian程序编程规范和数据类型
2009-03-10 09:15
232 查看
Symbian程序编程规范和数据类型
Symbian编程规范在很大程度上遵循传统C++编码规范,除此之外,Symbian应用程序还有自己的一些编程规范:
1) 类名和函数名的第一个字母必须大写;
2) 类的成员变量名的第一个字母必须为小写i;如成员变量Tint iVal
3) 函数的形式参数名称的一个字母必须为小写a;
4) 宏名必须以下划线开头,并且名字中的每个单词之间要用下划线隔开,另外宏名的每一个字母应该为大写;
5) 常量的第一个字母必须为大写字母K;
6) 枚举名称以大写T开头;
7) 函数名以大写L结尾表示函数在执行时可能会产生异常;
8) 类的名称通常以C、T、M、R是个字母开头:
i. C表示”Cleanup”(清除)的意思,以C开头的类均是从基类Cbase继承而来(包括间接继承),并却C类的所有对象只能放在堆上,不能放到栈中
ii. 以T开头的类是简单的类,T类的对象即可以放在堆中也可以放在栈中。Symbian OS中许多基本数据类型就是T类,如TInt、Treal、Ttext
iii. R类:以R开头的类是资源类,该类为资源客户端的句柄,该类并不为真正的应用程序所拥有,而是SymbianOS所提供的服务器所拥有,SymbianOS所提供的服务器将相应的服务封装在R类当中
iv. 以M开头的类是混合类,他表示一个接口只包含纯虚函数,这些纯虚函数需要继承接口的派生类来实现
Cbase类在文件/Symbian/8.0a/S60_2nd_FP2/epoc32/include/e32base.h中定义,类似于C++中的Cobject类,它是其他C类的基类。
Class Cbase
{
Public:
IMPORT_C virtual ~Cbase(); //析构函数
Inline Tany* operator new(Tuint aSize,Tany* aBase);
//new运算符重载 有两个操作数Tuint 和 Tany*
IMPORT_C Tany*Operator new(Tuint aSize);
//new运算符有一个操作数:Tuint
Inline Tany* Operator new(Tuint aSize,Tleave);
//new运算重载两个操作符Tuint 与TLeave
IMPORT_C Tany* operator new(Tuint aSize,Tuint anExtraSize);
//new运算符重载有两个操作数 Tuint
Protected:
IMPORT_C Cbase(); //构造函数
Private:
Cbase(const Cbase&); //构造函数
Cbase& operator=(const Cbase&); //=运算符重载
IMPORT_C static Tany* newL(TUInt aSize);//申请空间
}
IMPORT_C是一个宏,在e32def.h中定义,它表示从DLL中导入函数。那么这个函数必须首先以IMPORT_C声明,告诉编译器这个函数可以在DLL中找到。
EXPORT_C从DLL中导出函数。
SymbianOS中基本T类数据类型:
Ø Tint整型(int)在Tint 后面加上数值显示类型的存储空间,Tint8表示8位整数,Tint16表示16位整数,Tint32表示32位整数......
Ø Tuint 无符号整型(unsigned int)
Ø Treal 浮点型。(float/double)Treal32/Treal64
Ø Ttext 字符型(char)Ttext8表示8位无符号字符,Ttext和Ttext16表示存储16位无符号Unicode字符,Tchar表示存储32位字符
Ø Tbool 布尔型,Etrue Eflase;
Ø Tany 空类型(void)
Symbian编程规范在很大程度上遵循传统C++编码规范,除此之外,Symbian应用程序还有自己的一些编程规范:
1) 类名和函数名的第一个字母必须大写;
2) 类的成员变量名的第一个字母必须为小写i;如成员变量Tint iVal
3) 函数的形式参数名称的一个字母必须为小写a;
4) 宏名必须以下划线开头,并且名字中的每个单词之间要用下划线隔开,另外宏名的每一个字母应该为大写;
5) 常量的第一个字母必须为大写字母K;
6) 枚举名称以大写T开头;
7) 函数名以大写L结尾表示函数在执行时可能会产生异常;
8) 类的名称通常以C、T、M、R是个字母开头:
i. C表示”Cleanup”(清除)的意思,以C开头的类均是从基类Cbase继承而来(包括间接继承),并却C类的所有对象只能放在堆上,不能放到栈中
ii. 以T开头的类是简单的类,T类的对象即可以放在堆中也可以放在栈中。Symbian OS中许多基本数据类型就是T类,如TInt、Treal、Ttext
iii. R类:以R开头的类是资源类,该类为资源客户端的句柄,该类并不为真正的应用程序所拥有,而是SymbianOS所提供的服务器所拥有,SymbianOS所提供的服务器将相应的服务封装在R类当中
iv. 以M开头的类是混合类,他表示一个接口只包含纯虚函数,这些纯虚函数需要继承接口的派生类来实现
Cbase类在文件/Symbian/8.0a/S60_2nd_FP2/epoc32/include/e32base.h中定义,类似于C++中的Cobject类,它是其他C类的基类。
Class Cbase
{
Public:
IMPORT_C virtual ~Cbase(); //析构函数
Inline Tany* operator new(Tuint aSize,Tany* aBase);
//new运算符重载 有两个操作数Tuint 和 Tany*
IMPORT_C Tany*Operator new(Tuint aSize);
//new运算符有一个操作数:Tuint
Inline Tany* Operator new(Tuint aSize,Tleave);
//new运算重载两个操作符Tuint 与TLeave
IMPORT_C Tany* operator new(Tuint aSize,Tuint anExtraSize);
//new运算符重载有两个操作数 Tuint
Protected:
IMPORT_C Cbase(); //构造函数
Private:
Cbase(const Cbase&); //构造函数
Cbase& operator=(const Cbase&); //=运算符重载
IMPORT_C static Tany* newL(TUInt aSize);//申请空间
}
IMPORT_C是一个宏,在e32def.h中定义,它表示从DLL中导入函数。那么这个函数必须首先以IMPORT_C声明,告诉编译器这个函数可以在DLL中找到。
EXPORT_C从DLL中导出函数。
SymbianOS中基本T类数据类型:
Ø Tint整型(int)在Tint 后面加上数值显示类型的存储空间,Tint8表示8位整数,Tint16表示16位整数,Tint32表示32位整数......
Ø Tuint 无符号整型(unsigned int)
Ø Treal 浮点型。(float/double)Treal32/Treal64
Ø Ttext 字符型(char)Ttext8表示8位无符号字符,Ttext和Ttext16表示存储16位无符号Unicode字符,Tchar表示存储32位字符
Ø Tbool 布尔型,Etrue Eflase;
Ø Tany 空类型(void)
相关文章推荐
- [MISRA C 2004](一)数据类型相关的编程规范
- 我与python约个会:09.程序编程基础3~组合数据类型
- symbian c++ 学习 2 数据类型及代码规范
- Windows程序编程(1):数据类型
- C#1.23/数据类型/注释说明/关键字/标识符/C#程序遵循规范/变量【值类型】/
- java 编程规范 数据类型 运算符 分支判断if switch等初识
- Symbian 学习笔记之一命名规范与数据类型
- Nokia官方培训(Symbian 4300)笔记(四)--基本数据类型及命名规范
- 我与python约个会:08.程序编程基础2~基本数据类型
- JNA编程之二:数据类型映射
- C语言中程序以及各类型数据存储位置 (转载)
- Oracle(PL/SQL编程基础(PL/SQL程序块与PL/SQL语句)、异常、游标、数据类型)
- Java的三大机制、命名规范、简述数据类型
- 该程序输出各种数据类型占用的字节数
- Oracle中的pl/sql编程的数据类型
- C语言编程规范6: 程序效率
- 写单片机程序数据类型相关
- 网络编程-TCP程序实例(只是发送了数据,在服务器显示)
- Java语言规范第五/六章-数据类型转换/名称
- 游戏服务器程序基础1-内存/类型转换/编程习惯