【问题标题】:Best practice for creating a C++ Dll to be marshalled in C# [closed]创建要在 C# 中编组的 C++ Dll 的最佳实践 [关闭]
【发布时间】:2023-04-06 21:57:01
【问题描述】:

我必须编写一个 C++ Dll 来包装现有的 C++ Dll,以便可以在 C# 中声明它,因为现有的 C++ API 太复杂了(函数返回指向结构内结构内联合的指针)。有什么最佳做法吗?例如:

  • 从 C++ 到 C# 声明字符串的最佳方式是什么?
  • C++ 函数使用指针还是引用更好?

【问题讨论】:

  • 人们投票结束 - 你能发表评论解释原因吗?
  • 因为你的问题似乎太宽泛了。
  • 将功能公开为 COM 类。我认为这可以更容易地从 .NET 中使用。
  • 我只是在寻求最佳实践——一本书、一篇文章、一篇博文……
  • @parsley72 请求异地资源也是OT。

标签: c# c++ dll marshalling


【解决方案1】:

这取决于您希望导出多少个函数,以及您是否希望仅将它们导出到 c#。 如果您对其中一个回答是,那么我建议您使用 swig,因为会自动为您生成函数

这是一个链接 http://www.swig.org/tutorial.html

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-29
    相关资源
    最近更新 更多