繁体   English   中英

如何将C / C ++ dll导入.NET应用程序

[英]How to Import a C/C++ dll to .NET application

在我的新项目中,我想使用现有的C C ++函数。 为此,我需要将C / C ++ dll添加到C#项目中。

我的C / C ++项目属于UnManaged类型,它不是COM项目。 我从MSDN看过几篇文章并尝试过:

[DllImport("user32.dll", EntryPoint="MessageBoxA")]

但是我不确定将user32.dllmy.dll 我是否需要将dll放入GAC或其他物理文件夹中。

如果那将是一个物理文件夹,那么,我不需要使用相对路径还是绝对路径?

还阅读了几篇有关使用InterOp移植C ++ dll的文章,但不太确定如何开始。

请不要将您自己的dll放在C:\\ Windows \\ system32中。 如果要使用Windows的一部分(例如user32.dll),则不要将其放置在任何地方,因为它已经在路径中,所以可以在运行时找到,因为它在路径上。 如果要使用自己的DLL,请将其放在exe旁边的bin或bin \\ Debug或任何文件夹中。 通过将其添加到项目中可以很容易地做到这一点,以便在构建时将其复制到输出目录中,但是您可以拥有MSI或其他任何东西。 如果有多个应用程序使用了它,则必须决定是希望它们都在更新时开始使用新的应用程序,还是对它们的现有副本感到满意。 这可能是一个复杂的问题,您有足够的精力来让它适用于一个应用程序,对吗?

至于入口点,它是DLL中函数的名称。 如果您在托管代码中使用相同的名称,则可以将其省略。 它使您可以将可能会发现复杂的DLL函数名称映射为在托管代码中使用的更简单的名称。

您可以将其放在应用程序bin文件夹中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM