在C中调用C++库#


23

我有很多用C++编写的库。我想从C#中调用这些库,但是,我遇到了很多问题。我想知道是否有书或指南来告诉我如何做到这一点。

4

我最近不得不换一些C++代码在.NET。虽然C++代码打包为dll,但对P/Invoke来说界面太不友好了,所以我决定将它写入托管C++或C++/CLI中,因为它现在已经很清楚。

我发现this tutorial对语法非常有用。这并不容易,但内容看起来相当不错。


6

如果你谷歌的“C++ c#interop”,你会发现这个主题的吨信息。

的几个环节:

http://msdn.microsoft.com/en-us/magazine/cc301501.aspx
http://msdn.microsoft.com/en-us/library/ms235281(VS.80).aspx


3

我这有几个有用的样章在线,在该地址书C++/CLI in Action的忠实粉丝。

这个intro on CodeProject是一个很好的起点。

C++/CLI in Action的作者在CodeProject上有许多文章,向下滚动到his index上的C++/CLI部分。

Wikipedia article on P/Invoke有很多原因,你可能不希望使用这种方法,与我同意:打字支持

  • 损失由编译器为你
  • 可能的数据类型或对齐问题必须手工映射类型
  • 需要针垃圾收集的对象

MSDN上最好的出发点是summary article