在 Symbian 中动态加载 DLL 的方法
2010-02-22 20:55:00 来源:WEB开发网大家好,在Windows系统中我们能很熟练的动态的引入动态链接,但在Symbian中我还没发现此类文章。这里就把我最近在写程序时的一些发现跟大家分享一下,也希望能起一个抛砖引玉的作用。
我想大家对Symbian已经有了基本的了解,我就不再介绍了。总起来说,我感觉Symbian和 Windows系统相当的相似,而S60的编程框架和MFC又有八分相近。那么,在Windows中我们能动态的引入DLL那在Symbian中也应该可以。就做了个小测试,过程如下:
一、编写动态链接库
首先建立一个工程文件DllTry.mmp内容如下:
TARGET DllTry.dll
TARGETTYPE dll
UID 0x1000008d 0x2000118d
SOURCEPATH ..src
SOURCE DllTry.cpp
USERINCLUDE . ..inc
SYSTEMINCLUDE epoc32include
LIBRARY euser.lib
EXPORTUNFROZEN
建立bld.inf文件,如下:
PRJ_MMPFILES
..srcDllTry.mmp
头文件DllTry.h,如下:
#ifndef __DLL_TRY_H
#define __DLL_TRY_H
#ifndef __W32STD_H__
#include
#endif
#ifndef __E32STD_H__
#include
#endif
#ifndef __E32BASE_H__
#include
#endif
class CDllTry : public Cbase {
public:
static CDllTry* NewL();
static CDllTry* NewLC();
virtual TBool TestMethod();
TInt ii;
CDllTry();
~CDllTry();
private:
void ConstructL();
};
EXPORT_C CDllTry* Create(); //声明导出函数
#endif
代码文件DllTry.cpp,如下:
#include "DllTry.h"
//入口
EXPORT_C TInt E32Dll(TDllReason) {
return KErrNone;
}
//实例化CDllTry
EXPORT_C CDllTry* Create() {
return CDllTry::NewL();
}
CDllTry* CDllTry::NewL() {
CDllTry* self = NewLC();
更多精彩
赞助商链接