目前应用结构如下:
- 我们的 C# GUI
- 我们的托管 C++ 库
- 第 3 方非托管 32 位 C++ 库
我们需要的是使我们的应用程序为 64 位,但保留 32 位第三方库(没有 64 位版本)。问题是这个库一直在解码大型数组(10-100 MB),所以编组时间是一个问题。
我们想到的几个选项:
- 将第 3 方库包装到托管 C++ ActiveX 并从 C# 调用它 - 很简单,但我们预计会受到严重的编组惩罚
- 在双方使用 Boost.Interprocess - 似乎更复杂,但可能更快
关于为了执行速度而选择哪种方式的任何建议?还有其他方法吗?