2

我是一名 Linux C++ 开发人员,我需要为 windows 编写 C++ dll,用于 C# 应用程序。

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

我需要导入 DLL 中的所有对象和函数,而我的搜索只导致了 DllImport 等等。

非常感谢您的帮助。

4

5 回答 5

2

您可以使用 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

于 2012-04-17T05:11:58.827 回答
0

Have you thought to keep the Dll's in C++ (port then recompiled under VS.NET) less effort than a C# port.

I have in the past made a shared memory DLL to allow LabVIEW (Windows7) and a Winforms C#.NET appl. to share data storage via this dll.

于 2012-04-17T04:30:03.183 回答
0

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

于 2012-04-17T05:18:55.420 回答
0

你想要 DllImport

这里有一堆信息:-

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

还有更多关于谷歌的内容,以及与 DllImport 相关的许多 stackoverflow 问题

于 2012-04-17T04:22:05.427 回答
0

有很多方法可以解决这个问题。您可以在 C++ 中编写一个 CLR dll,它放置一个 C# 可以直接“对话”的接口。这是一个不错的选择,因为您可以保持本机 C++ 不变,而不是让所有代码都基于 CLR。

搜索 C++/CLI

您还可以使用 dllimport 和朋友创建标准 dll。

于 2012-04-17T04:25:22.937 回答