WEB开发网
开发学院手机开发Symbian 开发 Symbian 逐步深入 阅读

Symbian 逐步深入

 2010-03-26 04:24:00 来源:WEB开发网   
核心提示:RBuf使用的例子:RBuf myRBuf;LIT(KHelloWorld,”helloWorld”);myRBuf.CreateL(KHelloWorld);使用例子2:HBufC* mHBuf= HBufC::NewL(20);RBuf myRBuf;myRBuf.Assign(mHBuf); //取得控制权当my

RBuf使用的例子:

RBuf myRBuf;

LIT(KHelloWorld,”helloWorld”);

myRBuf.CreateL(KHelloWorld);

使用例子2:

HBufC* mHBuf= HBufC::NewL(20);

RBuf myRBuf;

myRBuf.Assign(mHBuf); //取得控制权

当myRBuf要重新指定的时候,就需要调用Close()方法。

当RBuf重新分配内存的时候,需要如下的步骤:

myRBuf.CleanUpPushL();//RBuf类推入清除栈, 清除工作在调用Close()(或者是调用CleanupStack::PopAndDestroy()时进行。

myRBuf.ReAllocL(newLength);

CleanUpStack::Pop();

_LIT与_L

其相当于 static const char[], 看如下的语句:

_LIT(KThis,”this”);//则_LIT宏在二进制代码中构建一个TLitC16类型的对象。存储字符串,如”this”. _LIT、_L宏在 e32def.h中进行定义。

描述符的相关操作API:

TDesC

Length()//== strlen()

Size()//==sizeof()

MaxLength()//申请的字符的最大长度

TPtr(C)::Set()和TDes::operator=()//用来将指针指向其他的字符串数据

TBuf::Des()和HBufC::Des()//返回一个指向缓存所容纳可变字符串指针。

数组

Symbian的数组分为静态数组和动态数组。

静态数组:和C/c++一样,多提供了很多额外的函数如 范围检查功能

动态数组:动态数组有如下两种实现方式:1.采用内存堆,每个分段都有一个独立的堆来保存/容纳数组元素;2.采用双向链表

建议使用RArray,这个唯一的不足是:它要求数组中的所有元素都需要以4字节对齐。

----------------------------------数组部分还有很多内容,在平时多揣摩

*小注意点:

Symbian的IDE Carbide C++可以制作出 exe和dll文件。如何区分他们呢。

UID1-通过UID1,UID1被构建工具设置成KdynamicLibraryUid(0x10000079)。而当为exe程序时,UID1则被设置成KExecutableImageUid(0x

1000007a)。

UID2—这个UID用来区分是共享库还是多态接口DLL. 对于共享库,UID2被设为KsharedLibraryUid(0x1000008d);但对于多态接口DLL它则根据不同的插件类型而取不同的值(比如,对于套接字服务器协议模块,UID2的值为0x1000004A).

上一页  1 2 3 4 5 6 7 8 9  下一页

Tags:Symbian 逐步 深入

编辑录入:coldstar [复制链接] [打 印]
赞助商链接