编写用于C#的非托pipeC ++ DLL

我是一名Linux C ++开发人员,而且我需要为C#应用程序使用的Windows编写C ++ dll。

问题是将DLL导入到C#中,我不知道该怎么做。 在我的朋友的项目中,可能会使用任何一种非托pipe的dll,我负责这样做:-D

我需要导入DLL中的所有对象和函数,我的search导致我只不过是DllImport等等。

非常感谢您的帮助。

您可以使用C ++ / CLI作为您的非托管C ++的封装。有关C ++ / CLI的更多信息以及它可以使用的链接

http://www.functionx.com/cppcli

你可以快速浏览一下

http://www.codeproject.com/Articles/19354/Quick-C-CLI-Learn-C-CLI-in-less-than-10-minutes#A8

你想要DllImport

这里有一堆信息:

http://msdn.microsoft.com/en-us/library/aa288468(v=vs.71).aspx

还有很多更多的谷歌,以及许多与DllImport有关的stackoverflow问题

有很多方法可以解决这个问题。 你可以在C ++中编写一个CLR DLL,这个C ++可以直接“交谈”一个接口。 这是一个不错的选择,因为你可以保持原生的C ++,而不是所有的代码都是基于CLR的。

做一些C ++ / CLI的搜索

您也可以使用dllimport和朋友,并创建一个标准的DLL。

你有没有想过保持Dll的C + +(端口,然后在VS.NET下重新编译)比C#端口更少的努力。

我在过去做了一个共享内存DLL允许LabVIEW(Windows7)和Winforms C#.NET应用程序。 通过这个DLL共享数据存储。

看看这个教程。 它显示了两个方法来完成你想要的: 如何编组一个C ++类