WEB开发网
开发学院手机开发Symbian 开发 Symbian DLL 用法小结 阅读

Symbian DLL 用法小结

 2010-02-28 00:00:00 来源:WEB开发网   
核心提示:Symbian 的DLL分为两种,一种是静态接口DLL(static interface dll),Symbian DLL 用法小结,一种是多态接口DLL(polymorphic interface dll),(一)静态接口DLL(static interface dll):静态接口DLL一般使用DLL结尾, 它由以下

Symbian 的DLL分为两种,一种是静态接口DLL(static interface dll),一种是多态接口DLL(polymorphic interface dll)。

(一)静态接口DLL(static interface dll):

静态接口DLL一般使用DLL结尾,提供固定的API,给其他程序调用。静态接口DLL在主调程序启动的时候被系统自动载入到手机内存里面(唯一的例外是如果该DLL是在ROM只读存储器里面,那么可以直接通过它的地址进行调用)。并且如果没有外部程序使用它了,它将被自动的从内存中卸载。

在Symbian OS编写dll时,要注意的问题是,不能有全局或静态变量存在,这个一定要注意,在SDK中讲得很清楚。

Symbian OS是基于ROM来处理程序的。DLL是通常是存储在ROM中的(运行也是在ROM中),所以它是不可写的。虽然有时把DLL装入RAM中运行,但 Symbian OS仍旧假定DLL不可写。因此Symbian OS中的DLL没有数据段(Data Segment ),这就导致了DLL中不能包含有可写的静态数据,不管其是否被初始化。

从DLL调用者的角度来看,DLL有三个文件组成:

(1)头文件:.h的文件后缀,可以#include到主调程序的代码中去,只有在编译的时候有用。

(2)导出文件:.lib的文件后缀,可以由主调程序进行链接,这个文件记载了DLL的提供的所有接口函数名称和地址。

(3)DLL文件本身:.dll的文件后缀包括所有.lib文件记载的接口函数的具体实现,主调函数在运行的时候实际调用和执行的部分。

从DLL编写者的角度来看,DLL可以被看成是一个完整的Symbian项目。 它由以下几部分组成:

(1)项目自己的MMP文件(在bld.inf文件中列出的)

(2)一个头文件,指定了该DLL需要导出的接口

(3)源代码文件,具体导出函数的实现

头文件

DLL的头文件与其它类的头文件的头文件非常类似。不同的地方在于

使用了IMPORT_C宏来定义所有导出函数:

class CMyEngine : public CBase

{

public:

// These functions are visibleby the

// clients of the DLL andneeds to have

// the IMPORT_C tag

IMPORT_C static CMyEngine*NewL();

IMPORT_C static CMyEngine*NewLC();

IMPORT_C voidMyPublicMethod();

IMPORT_C voidAnotherPublicMethod();

1 2 3  下一页

Tags:Symbian DLL 用法

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