DLL 访问应用程序的数据

DLL access application's data

本文关键字:数据 应用程序 访问 DLL      更新时间:2023-10-16

我知道以前也问过类似的问题,但我仍然不清楚。

我的应用程序有一个类,比如ClassAppGraph,用来表示某种图。我需要写一个DLL来解析ClassAppGraph的对象并做一些事情。

我的DLL如何从应用程序访问ClassAppGraph对象?

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

对于这种情况,我还能做其他设计吗?

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

我会把ClassAppGraph类和实现放在DLL中,然后在应用程序中使用DLL中的实现。最有可能的是,我实际上会为DLL制作一个ClassBaseGraph,如果应用程序需要自定义类,它可以继承它