我想从 32 位应用程序访问 64 位 dll。由于第三方锁定,我们没有合适的 32 位应用程序端口。创建 2 个不同版本的 64 位 dll 实际上是不可行的,因为要满足依赖关系,我们最终可能不得不以两种位数构建几乎整个应用程序,这将使整个移植目的无效。为了进一步放大,我们想从 32 位应用程序访问 64 位 ODBC。
在这方面我遇到了两个专有的解决方案
两者都是解决方案,但正在寻找一些开源或内部实现
在这方面的一些研究让我相信,如果我们可以将 dll 作为一个单独的进程加载并使用 IPC 进行通信,如32 位和 64 位应用程序之间的进程间通信中所述,这是可能的。这里的挑战是通常在涉及引用数据类型时对数据进行编组和解组。
在这方面,我遇到了一个 SO answer Is it possible to access a 64-bit dll from a 32-bit application? 它链接到Code Central 中的解决方案。这是一个 delphi 解决方案,也是我想为 Visual C++ 细读的类似解决方案。
是否有任何开源实现试图解决这个问题?