C#和C++库

Bet*_*moo 5 c c# c++ interop cross-compiling

  • 我在想,如果我可以用一个库 - 用C++编写的- C#
  • 问题是库有自己的结构和类..我能在C#中使用它吗?

谢谢

编辑
这个库是开源的..
所以如果我的需求需要C++代码中的特殊内容,我将能够做到......

Han*_*ant 3

您不能在托管代码中直接使用 C++ 类。主要问题是无法使用与 C++ 代码相同的内存分配器,并且无法轻松调用构造函数和析构函数。一位微软员工发表博文表明这并非不可能。我不建议这样做。

COM 是一种解决方案,但总是需要相当大的重写和良好的 COM 编程技能。C++/CLI 语言中的托管类包装器通常是最佳解决方案。您可以查看一下SWIG 工具来考虑自动生成这些包装器类。但请注意,该工具很容易产生比它解决的问题更多的问题。