在 Symbian OS 60 Developer Platform 2.0 中存在两种类型的DLL,它们可以使开发者实现代码重用,并且提高应用程序的执行效率。
DLL 可以方便的把功能封装在可重用的模块中。在提高运行效率的同时,可以并行运行不同开发小组开发的多个应用程序组件,某些通信模块和引擎就内置在了DLL中。
静态 DLL (Static DLL)
我们知道共享库DLL(shared library),它们可以使不同的应用程序共享代码,在内存中只有一个dll,但是这个Dll却被多哥应用程序共享。对于静态Dll的一个限制是:它们不可以有可写入的静态数据。但是也有一个方法来处理静态数据写入的需求,那就是 javascript:alert('Local%20Storage%20的文章尚未完成,欢迎完成后浏览!')">Local Storage 线程。
在应用程序中使用静态 DLL
在应用程序中使用外部的 DLL 需要在工程文件(.mmp 文件)文件的 LIBRARY 语句中添加 .lib文件
创建静态 DLL
如果要创建一个 DLL 那么必须在工程文件(.mmp 文件)的 TARGETTYPE 语句中设置目标类型为 dll (例如:TARGETTYPE dll) 。在Series 60中的 DLL 必须有一个 E32Dll() 方法作为Dll入口点。
| GLDEF_C TInt E32Dll(TDllReason) { return 0; } |
如果你想要 dll 中的方法可以可以被外部调用,那么这个方法在源文件(.cpp 文件)必须以 EXPORT_C 声明;在头文件(.h 文件)中必须以 IMPORT_C 声明。
多态 DLL
某些 DLL 在创建时返回一个object 并且有多个入口点,这样的 DLL 通常由 framework 进行管理。关于多态 DLL 的更多信息可以参看 Series 60 SDK 的其他文档。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/10294527/viewspace-126423/ ,如需转载,请注明出处,否则将追究法律责任。