【发布时间】:2023-04-07 11:21:01
【问题描述】:
我正在使用 C++ 并创建分析数据的库。我创建了几个具有采用 C++ 向量的函数的类。现在我想用 C# 创建 UI 并调用这些类。我正在考虑创建从 C# 调用的 API。
既然数据是数组/向量,那么我如何从 C# 中调用它?
【问题讨论】:
-
当你说 C++ 向量时,你是在说
std::vector那么? -
互操作性是一种“高级主题”,但您想要的绝对是可能的。诀窍是围绕您的非托管 c++ clode 创建一个“托管包装器”您可以将 IJW 与 c++\cli [stackoverflow.com/questions/15672351/… 一起使用,或者,如果您调用了 c 样式,请使用 /pinvoke [msdn.microsoft.com/en-us/magazine/cc164123.aspx] 直接链接到 dll。
-
我正在使用 std::vector 并且在类内部他们大量使用了 BOOST 库。
-
另一种选择是将 C++ 库包装在 COM 接口中,然后从 C# 中将其添加为引用,自动生成互操作层