DLL on Symbian
来源:互联网 发布:詹姆斯历届总决赛数据 编辑:程序博客网 时间:2024/05/21 22:44
1.Compilation
1.1) 编译DLL将产生两个文件, .lib(or .dso)和.dll
.lib(.dso)用来描述函数在实现中名字和地址, 这是一个interface文件, 编译后放在目录/epoc32/release/target-platform/lib
.dll则是函数的实现. 编译后放在/epoc32/release/target-platform/udeb-urel/
在MMP中不需要指定目标lib文件, build tools chain会自动产生.
而在link时, 不需要指定目标dll文件, 因为函数的名字和地址都包含在了lib文件中.
1.2) Freeze export.
???
2. Link
有两种Link方式:
2.1) 静态链接, 称为Static Interface DLL. 使用方法非常简单:
2.1.a) 在src文件中把dll的接口头文件include进来,
2.1.b) 在MMP中把该dll对应的lib列出来.
Static Link方式在编译器link阶段就会把lib import进来, 但这只是地址, 不会增加二进制文件的size.
真正DLL实现加载是发生在EXE加载时, 由Loader完成.
2.2) 动态链接, 称为Polymorphic Interface DLL. 主要使用RLibary加载
???
3. Implementation
3.1) MMP中的定义
3.1.a) TARGETTYPE指定为DLL
3.1.b) UID2, 对于Static Interface DLL, UID2默认固定为0x1000008d, 而对于Polymorphic Interface DLL, UID2的值在于识别一个实现, 这个值定义在实现文件中.
3.1.c) UID3用来识别Static Interface DLL, 而对于Polymorphic Interface DLL, UID3用来识别不同的应用, 比如ECom Plugin.
<UID2> <UID3>似乎有误???
3.2) SRC中的定义
3.2.a) .cpp文件, 在要导出的函数前加关键字EXPORT_C
3.2.b) .h文件, 在要导出的函数前加关键字IMPORT_C
- DLL on Symbian
- [Symbian] lib 还是 dll
- Symbian DLL 学习总结
- 初识Symbian中DLL
- symbian dll常见问题
- helloworld(on symbian
- Console HelloWorld on Symbian
- HTTP on Symbian OS
- HTTP on Symbian OS
- DBMS on symbian
- Start on Symbian
- HTTP on Symbian OS
- Symbian中动态加载DLL
- Symbian操作系统结构之一:DLL
- Symbian操作系统结构之一:DLL
- symbian 使用RLibrary加载DLL
- Single tap on symbian^3
- Writing a DLL (used in Symbian OS)
- 外连接sql的一个问题
- 批处理move 使用注意
- 一个二维数组指针的问题
- asp.net javascript 文件无刷新上传实例代码
- encodeURI和encodeURIComponent的比较
- DLL on Symbian
- AIX 做nfs文件系统
- 企业OA选型目前遇到的误区
- GradeView中,数字转换成中文显示
- 没积分啊
- Java 基础小结
- StartIO例程
- __declspec关键字详细用法
- c# as is 类型转换