DLL访问应用程序的数据

时间:2012-03-01 03:51:52

标签: c++ dll

我之前曾经问过类似的问题,但我仍然不清楚。

我的应用程序有一个类,比如ClassAppGraph来表示某种图形。我需要编写一个解析ClassAppGraph对象并执行某些操作的DLL。

我的DLL如何从Application中访问ClassAppGraph的对象?

我知道我可以从应用程序向DLL发送一个指向此对象的指针,但是DLL如何知道该类的外观,它的数据成员和函数是什么?我在我的DLL项目中包含.h文件,其中包含应用程序类的声明吗?

我是否可以为这种情况做任何其他设计?

2 个答案:

答案 0 :(得分:0)

由于您的应用程序加载了DLL,它们共享相同的内存空间,DLL中的函数可以访问任何应用程序进程内存。只需使实例可全局访问(例如全局静态变量)。在DLL源代码中,包含ClassAppGraph的头文件,然后您可以直接在DLL中使用ClassAppGraph *

答案 1 :(得分:0)

我会将ClassAppGraph类和实现放在DLL中,然后在应用程序中使用DLL中的实现。我很可能实际为DLL创建ClassBaseGraph,如果应用程序需要自定义类,它可以继承它。

相关问题