DLL的动态链接可不可得到DLL中的类?
我知道这是不可以的,因为类中除了有代码(code)还有有数据(data),LoadLibrary(),GetProcAddress只是取得函数(代码)的指针并不能得到那些数据(data)。
但为什么静态链接就可以了?
谁能说出本质?
我知道这是不可以的,因为类中除了有代码(code)还有有数据(data),LoadLibrary(),GetProcAddress只是取得函数(代码)的指针并不能得到那些数据(data)。
但为什么静态链接就可以了?
谁能说出本质?
解决方案 »
- 如何二进制补码求校验和。 Checksum为2's complement sum of message contents excluding checksum。
- 再问个接收的问题
- windows下有没有unix下的进程间通信方式-消息队列
- 关于new分配内存空间与strlen求其大小的疑问? 在线恭候
- 怎样不使用Windows打印机驱动,直接发送打印机指令打印?
- 高分求一例,大分任你拿!
- asp.net可以跨平台吗?
- 如何抓住一个鼠标离开窗口事件?
- 为什么会是未定义??我是新手~~麻烦解决~~谢谢
- 我如何才能把文件拖到资源管理器中
- 谁能提供用Iwebbrowser2做的网络浏览器的源代码?
- 辞职了,在公司的最后一天,准备休假
如果是一个CLASS,情况就复杂了,因为它的内部有好多地址。你怎么办?如果DLL是你自己写的,那就简单了,通过一个函数返回那个类的指针。非常简单。
另外,你还可以export那个class,然后你还可以在别的模块里面继承那个class============================================================================
http://www.betajin.com/alphasun/index.htm 给我发信息请附带原帖地址
http://alphasun.18en.com/ http://shakingtoolkit.9126.com/
DocWizard C++程序文档自动生成工具 | Wave OpenGL | HttpProxy | AjaxParser词法分析
看看此文章:http://www.codeguru.com/dll/expclass.shtml
jiadrun(MustBeSuccess) 给的链接不错
In355Hz(好象一条狗) 的注意也不错
不就是静态链接是在编译时把代码直接放到进程中,
当loadlibrary()得到dll句柄以后,他就可以在类中得到函数地址了
而动态连接时在运行时,他首先得到dll的句柄,然后根据句柄计算得到函数地址
但由于是要导出类而无法得到类的地址而已