编写非托管C++ DLL 以在 C# 中使用
本文关键字:以在 DLL C++ | 更新日期: 2023-09-27 18:31:31
我是一名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
你想要 DllImport
这里有一堆信息:-
http://msdn.microsoft.com/en-us/library/aa288468(v=vs.71).aspx
以及Google上还有很多东西,以及与DllImport相关的许多堆栈溢出问题
有很多方法可以做到这一点。您可以在C++中编写一个CLR dll,该接口放置了一个C#可以直接"对话"的接口。这是一个很好的选择,因为您可以保持本机C++静止,而不是让所有代码都基于 CLR。
对 C++/CLI 进行一些搜索
您还可以使用 dllimport 和好友并创建标准 dll。
你有没有想过将 Dll 保留在 C++(端口然后在 VS.NET 下重新编译)比 C# 端口少。
我过去曾制作过一个共享内存DLL,以允许LabVIEW(Windows7)和Winforms C#.NET应用程序通过这个dll共享数据存储。
看看本教程。它显示了完成所需操作的两种方法: 如何封送C++类