Symbian开发入门
2010-06-03 23:07:00 来源:WEB开发网一般情况下,您没有必要指明是字符串的宽度,用中立的类型就可以了,这样使你的代码易于在宽字符版本和窄字符版本之间转换(有过编程经验的朋友应该有这样的印象,我们平常写代码,大多情况下,仅仅使用UINT类型,而较少考虑使用UINT16,UINT32类型)。
另外一个问题是:描述符和字面量(literal)的区别。所谓字面量是指在编码的时候就已经确定的量,例如,标准C中的
char* p = "Hello world";
其中的"Hello world"就是字面量。在Symbian系统中,对它们的处理是很不一样的,这点我们在后面再介绍。
有了这样的一些认识, 现在我们可以来看看有哪些描述符类型。在Symbian系统中描述符类型有两大种类:不可修改(non-modifiable)的描述符和可修改(modifiable)的描述符。
3.1不可修改(non-modifiable)的描述符
在Symbian 系统中,所有的描述符都继承自TDesC,在前面我们已经讨论了类名前缀T所代表的意义,在这里,我们更关心类名的后缀C所代表的意义,这个C是单词 Constant的首字符,表示这个类是不可更改的。这个类提供了一些用来返回字符串的长度和操作数据的方法。Length()方法返回了描述符的长度,因为,每个描述符对象在内存中的布局都是同样的,用4个字节来表示它所包含的数据的长度(实际上,只用了32个bit中的28个bit,剩余的4bit留作它用,所以描述符能表示的最大的长度为228 字节,256 MB,不过这已经足够了)。所以,Length()方法没有被它的子类重写,它对所有子类都有效。但是,根据实现子类的方法的不同,子类访问数据的方式也不一样,Symbian系统不要求它的子类通过虚函数的方式来实现自己的访问数据的方法。 不用虚函数重写的原因是因为,虚函数会给每个被派生的描述符对象增加4节字的额外负担,c++用这4个字节来存放指向虚函数表的指针。我们前面说过,在设计描述符的时候要让它尽可能高效,额外的字节开销被认为是不理想的。存放长度的4个字节中,28bit用来表示长度,剩下的4bit用来表示描述符的类型。目前,symbian系统中有5种派生的描述符类型,4bit限制了描述符的种类最多只能有16种,但这已经足够了。子类可以通过调用基类TDesC的
- ››开发Android 日历教程
- ››开发学院总结 Win 8实用技巧大全
- ››开发学院原创教程:把win8的IE10放桌面上方法(非...
- ››开发者眼中的Windows Phone和Android
- ››Symbian S60 SocketConnection参数
- ››开发学院教你用SQL 语句最快速清空MySQL 数据表的...
- ››Symbian乏力:2010年诺基亚悲情大事记
- ››Symbian三大升级开启2011年新战略
- ››Symbian/Android/iOS/WM安装包对比
- ››Symbian一个活动对象的测试例子
- ››Symbian ListBox控件
- ››Symbian下自动切换SDK的批处理代码
更多精彩
赞助商链接