我是一名 Linux C++ 开发人员,我需要为 windows 编写 C++ dll,用于 C# 应用程序。
问题是将 DLL 导入 C#,我不知道该怎么做。在我朋友的项目中,很可能会使用任何类型的非托管 dll,我负责这样做:-D
我需要导入 DLL 中的所有对象和函数,而我的搜索只导致了 DllImport 等等。
非常感谢您的帮助。
我是一名 Linux C++ 开发人员,我需要为 windows 编写 C++ dll,用于 C# 应用程序。
问题是将 DLL 导入 C#,我不知道该怎么做。在我朋友的项目中,很可能会使用任何类型的非托管 dll,我负责这样做:-D
我需要导入 DLL 中的所有对象和函数,而我的搜索只导致了 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
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.
看看这个教程。它显示了完成您想要的两种方法:如何编组 C++ 类
你想要 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。