我正在与工作中的团队成员讨论将我们的软件套件从 32 位转换为 64 位的问题,并谈到在 64 位进程中使用 32 位 dll。他提到这是可能的,你可以做同样的事情来从 32 位进程使用 64 位库,但除了提到必须使用 inproc 服务器或更复杂的“装箱”之外,没有详细说明它技巧。
我确实想知道如何做到这一点以供我自己参考,但我更感兴趣的是它实际上是如何工作的。如何访问不应该在 32 位和 64 位进程之间可见的内存空间?如前所述,自己知道如何执行此操作也没有什么坏处,我通常使用 C++/CLI 或 C#。