c++ - DLL 之间的交互

标签 c++ dll interaction

我有一个 DLL,比如 A,它实现了求解数学方程式的通用算法。 我有另一个 DLL,比如 B,它实现数学方程式 DLL B 使用 DLL A 来求解它的方程式,但 DLL B 必须能够从 DLL A 执行给定的方程式(DLL A 实现了一些数值、近似方法,并在给定的方程式上“尝试”不同的值作为其实现所需数学的步骤解决方案) 现在,DLL A 必须“知道”DLL B,反之亦然。

这是一个“糟糕”的设计吗? 我可以考虑这样的代码作为业余 cose 吗? 你会怎么做(请记住 DLL A 实现了通用算法,这些算法被其他不同的 DLL 使用,这些 DLL 实现了数学方程式)?

谢谢 大卫

最佳答案

DLL A 没有理由需要明确了解 DLL B,它只需要一个接口(interface)来计算它要求解的方程。

接口(interface)可以由函数签名指定,指向合适函数的指针将由 B 传递给 A,或者它可以表示为抽象类,并且可以传递指向实际派生实例的指针或引用从 B 到 A。

尽管有可能拥有相互依赖的 dll,但通常不是一个好主意。在这种情况下,我认为没有必要。

关于c++ - DLL 之间的交互,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1150800/

相关文章:

C++ 运算符 >> 重载

c# - 将程序集嵌入另一个程序集

c++ - 如何从USB设备读取证书并将其发送到浏览器,如firefox

ios - 调暗/转换当前应用程序屏幕

r - 与由颜色和线型定义的 ggplot2 线和点的 4 向交互

android - 在 OpenGL 中通过触摸分割自己的对象

java - 如何在 C++ 中最有效地将像素数组渲染到窗口?

c# - 处理 IntPtr 数组

delphi - 为什么同一个函数可以导出多次?

android - 在 Android 上使用 Qt C++ 截取屏幕截图