c# - 创建要在 C# 中编码的 C++ Dll 的最佳实践

标签 c# c++ dll marshalling

<分区>

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

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

最佳答案

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

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

关于c# - 创建要在 C# 中编码的 C++ Dll 的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26449153/

相关文章:

c# - 为单元测试模拟对象的实例化

c# - Entity Framework : Working with detached objects and attached ones

c# - WebClient中如何获取Cookie的JSESSIONID

c++ - 在 C++ 中从距离矩阵创建索引 vector 的最快方法

delphi - LVM_GETITEMPOSITION

c# - 按一个属性排序集合,如果为空,则按不同属性排序

c++ - 在 Xcode 上用 C++ 创建模板类

c++ - 派生类实现具有公共(public)函数签名的多个接口(interface)

c++ - 如何设置 Visual Studio 来调试 DLL ("Unable to start program error")

c++ - 如何更改我的应用程序使用的 .dll 搜索路径?