在 C#(WPF) 中使用 C++ dll
Posted
技术标签:
【中文标题】在 C#(WPF) 中使用 C++ dll【英文标题】:Use C++ dll in C#(WPF) 【发布时间】:2014-12-04 06:28:29 【问题描述】:我有一个用 MFC 编写的 C++ 项目,其中一些项目是 DLL 类型的。我想在我的 C# 代码中使用这些 dll(使用 DllImport
)。
我尝试添加作为参考,但无法添加并出现错误。我需要在任何特定位置复制这些 dll 吗?我的代码将如何链接这些 dll?
【问题讨论】:
C++ 没有标准化的 ABI,这意味着 C++ dll 在不同的 C++ 编译器之间甚至不兼容。是什么让你认为它有机会在 C# 下工作?您要么必须将其扁平化为 C API,要么围绕 C++ 代码编写包装器或填充程序。 【参考方案1】:您不能添加对本机 DLL 的引用。在DllImport
中,您只需在运行时导入 DLL,因此如果 DLL 与托管应用程序不在同一目录中,请注意其路径。
C++-DLL 的一个问题是,DLL 中的函数名可以被修饰,因此您必须在使用之前找出修饰过的名称。
【讨论】:
以上是关于在 C#(WPF) 中使用 C++ dll的主要内容,如果未能解决你的问题,请参考以下文章