【问题标题】:Passing custom objects between C# and unmanaged C++在 C# 和非托管 C++ 之间传递自定义对象
【发布时间】:2009-01-25 17:27:48
【问题描述】:

我有一个旧版 DLL,其中包含我需要从 C# 代码调用的几个方法。其中一种方法接收指向另一个 C++ 类的指针,该类位于其他 C++ 程序中,而不是 DLL。

我很确定我需要使用 pinvoke 来回编组对象,但我还没有发现任何关于编组自定义对象的内容。

最好的方法是什么?

【问题讨论】:

    标签: c# c++ .net-2.0 pinvoke unmanaged


    【解决方案1】:

    你确定它是一个类而不是一个结构吗?毕竟,不同的编译器可能会选择在内存中以不同的方式布局类,这会破坏目标 DLL。

    您是否考虑过使用托管 C++ 包装器?

    【讨论】:

      【解决方案2】:

      我会关注 C++/CLI,尽管 COM 互操作可能更容易,具体取决于 C++ 代码的形状。

      【讨论】:

        【解决方案3】:

        如果它只是几个方法使用 swig

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2020-12-06
          • 1970-01-01
          • 1970-01-01
          • 2011-07-12
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多