WEB开发网
开发学院手机开发Symbian 开发 Symbian开发入门 阅读

Symbian开发入门

 2010-06-03 23:07:00 来源:WEB开发网   
核心提示:OS系统中,标准的栈空间的大小为8K字节,Symbian开发入门(20),不必要地使用有限的资源是非常浪费的,所以尽量不要使用基于栈的TFileName 对象,packagePtr(theSample)定义了一个对象,它持有一个指向theSample的针指;可以在包对象上调用()方法,也不要用值传递的方式使用它们,应当
OS系统中,标准的栈空间的大小为8K字节,不必要地使用有限的资源是非常浪费的,所以尽量不要使用基于栈的TFileName 对象,也不要用值传递的方式使用它们,应当使用引用传递的方式。您可以在堆上使用它们,比如,您可以把它们作为C类(从CBase派生的类)的成员变量。如果,您不需要使用完整的路径,你也可以用HBufC来存放文件名,尽量少用资源总是好的。

您最好不要使用 TParse 类(在f32file.H中定义)。因为这个类保存了一个描述符的拷贝,在拷贝中包含了要解析的文件名,拷贝会用掉宝贵的栈空间。您应当考虑使用TParsePtr 和 TParsePtrC 类;它们提供了同样的功能,但它们不拷贝文件名,而仅仅保存对文件名的引用。

4有用的辅助类

在讨论了这些普遍的问题之后,我们在这一章的结尾来看看两个常用的辅助类。

4.1 TLex(TLex8,TLex16)类

像描述符一样,TLex也有8bit和16bit两种版本,分别是TLex8 and TLex16,一般情况下,你应当使用TLex,而无需指定特定的版本。该类实现了一般目的词法分析,和语法成分解析以及从字符串到数字转换的功能。

4.2 Pckg类

另外一套有用的辅助类分别是:TPckgBuf和TPckg以及TPckgC,它们是分别派生自TBuf, TPtr 和 TPtrC的模板类,在文件e32std.H中可以找到它们的定义。

打包类(package class)能很方便地将扁平的(flat)数据对象存储到描述符中,这在跨线程或跨进程的数据共享的时候很有用。 实际上,能将一个T类对象完整地打包到描述符中,这样很容易以一种类型安全的方式在线程间共享它。

有两种Package指针类:TPckg,TPckgC,它们分别对应于可修改和不可修改的类型,都持有一个指向被包装对象的指针。

class TSample

{

public:

void SampleFunction();

void ConstantSampleFunction() const;

private:

TInt iSampleData;

};

TSample theSample;

TPckg packagePtr(theSample);

TPckgC packagePtrC(theSample);

在这个例子中,TPckg表示这是一个模板类,模板参数为TSample,packagePtr(theSample)定义了一个对象,它持有一个指向theSample的针指;可以在

包对象上调用()方法,返回被包装对象的引用。代码如下:

packagePtr().SampleFunction(); //合法

上一页  15 16 17 18 19 20 21  下一页

Tags:Symbian 开发 入门

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