DllGuide
所属分类:Symbian
开发工具:Visual C++
文件大小:42KB
下载次数:107
上传日期:2006-10-09 10:06:54
上 传 者:
kedey1221
说明: symbian操作系统下如何生成和调用DLL的实例代码。
(symbian operating system how to generate and use the DLL code examples.)
文件列表:
DllGuide (0, 2006-01-31)
DllGuide\MyDllApp (0, 2006-01-31)
DllGuide\MyDllApp\group (0, 2006-01-31)
DllGuide\MyDllApp\group\bld.inf (104, 2006-01-31)
DllGuide\MyDllApp\group\CommandsCommon.ra (456, 2006-01-31)
DllGuide\MyDllApp\group\MyDllApp.mmp (1753, 2006-01-31)
DllGuide\MyDllApp\group\MyDllApp.rls (355, 2006-01-31)
DllGuide\MyDllApp\group\MyDllApp.rss (1366, 2006-01-31)
DllGuide\MyDllApp\group\MyDllApp_gcce.pkg (1430, 2006-01-31)
DllGuide\MyDllApp\group\MyDllApp_gcce.SIS (19324, 2006-01-31)
DllGuide\MyDllApp\group\MyDllApp_loc.rss (369, 2006-01-31)
DllGuide\MyDllApp\group\MyDllApp_reg.rss (244, 2006-01-31)
DllGuide\MyDllApp\images (0, 2006-01-31)
DllGuide\MyDllApp\images\MyDllApp_20x16.bmp (1014, 2006-01-31)
DllGuide\MyDllApp\images\MyDllApp_20x16_mask.bmp (1014, 2006-01-31)
DllGuide\MyDllApp\images\MyDllApp_20x20.bmp (1254, 2006-01-31)
DllGuide\MyDllApp\images\MyDllApp_20x20_mask.bmp (1254, 2006-01-31)
DllGuide\MyDllApp\images\MyDllApp_42x42.bmp (5430, 2006-01-31)
DllGuide\MyDllApp\images\MyDllApp_42x42_mask.bmp (5430, 2006-01-31)
DllGuide\MyDllApp\images\MyDllApp_64x64.bmp (12342, 2006-01-31)
DllGuide\MyDllApp\images\MyDllApp_64x64_mask.bmp (12342, 2006-01-31)
DllGuide\MyDllApp\inc (0, 2006-01-31)
DllGuide\MyDllApp\inc\MyDllApp.hrh (176, 2006-01-31)
DllGuide\MyDllApp\inc\MyDllAppApplication.h (380, 2006-01-31)
DllGuide\MyDllApp\inc\MyDllAppAppUi.h (259, 2006-01-31)
DllGuide\MyDllApp\inc\MyDllAppBaseView.h (520, 2006-01-31)
DllGuide\MyDllApp\inc\MyDllAppDocument.h (475, 2006-01-31)
DllGuide\MyDllApp\inc\MyDllAppGlobals.h (208, 2006-01-31)
DllGuide\MyDllApp\src (0, 2006-01-31)
DllGuide\MyDllApp\src\MyDllAppApplication.cpp (592, 2006-01-31)
DllGuide\MyDllApp\src\MyDllAppAppUi.cpp (302, 2006-01-31)
DllGuide\MyDllApp\src\MyDllAppBaseView.cpp (1742, 2006-01-31)
DllGuide\MyDllApp\src\MyDllAppDocument.cpp (601, 2006-01-31)
DllGuide\MyDllUtils (0, 2006-01-31)
DllGuide\MyDllUtils\MyDllUtils.cpp (138, 2006-01-31)
DllGuide\MyDllUtils\MyDllUtils.h (216, 2006-01-31)
DllGuide\MyDllUtils\MyDllUtils.mmp (473, 2006-01-31)
DllGuide\MyDllUtils\MyDllUtilsARM.def (61, 2006-01-31)
Example for:
- Using dynamic library
Build for emulator:
in \QHelloWorld\group:
bldmake bldfiles
abld build winscw udeb
abld freeze winscw
abld build winscw udeb
In Codewarrior:
import and build TestDLL first
import, build and start HelloWorld
Build for device:
in \QHelloWorld\group:
bldmake bldfiles
abld build gcce urel
abld freeze gcce
abld build gcce urel
makesis HelloWorld_gcce.pkg
Important things to consider:
- Use proper UIDs that should be received from symbiansigned.com
- When the keyword EXPORTUNFROZEN is used, there are problems to build for the gcce target.
However, there is a workaround for this, and that is to freeze the DLL, and then build for gcce.
The keyword EXPORTUNFROZEN should be removed from the mmp file.
- Important issues related to capabilities for both application and library:
- Dll needs to have at least the same capabilities as the application that tries to use it.
- Dll need to have as many capabilities as possible so applications can use it:
"Shared libraries that export a static interface will need to have capabilities such that all its users may load them"
- http://www.symbian.com/files/rx/file3202.pdf
Rule 2: A process cannot load a DLL with less capabilities than itself…DLL
- capabilities do only reflect a level of trust…DLL
- capabilities do not authorise anything…
- DLL code runs at process’ capabilities level…
- DLL can have more capabilities than process
- You can test this using this example:
- As it is build initially, neither exe nor dll uses capabilities. Application (after signing) can be installed and started on device.
- If you add capability to an exe only (simply uncomment "CAPABILITY" in mmp file), sign application and install on device, you'll get an error: "Application couldn't be started".
- If you add capability also to the dll and instal the application, you can see that it will start without any problems.
近期下载者:
相关文件:
收藏者: