用于C#应用程序的DLL的C源代码

问题描述 投票:0回答:3

我有一个用VC ++ 6.0编写的C源代码,我需要将该代码用于正在编写的C#应用​​程序中。

我已经做了一些事情来实现这一目标,我已经在发布模式下运行了该C源文件,并在其中生成了中间体.manifest文件和其他文件,我可以使用其中的任何文件来解决问题。

c# c dll
3个回答
3
投票

您要做的是导入dll,如下所示:

 [DllImport("user32.dll")]//This is where you identify your dll...
   public static extern int MessageBoxA(  //This would be an object from your dll
      int h, string m, string c, int type);

   public static int Main() 
   {
      return MessageBoxA(0, "Hello World!", "My Message Box", 0);
   }

您需要搜索以了解此信息的关键字是“运行非托管代码”和“ PInvoke”。


0
投票

另一种替代方法是将C代码包装在托管C ++中。 Microsoft将其称为C ++ / CLI。无论如何,您都可以从该包装器中编译一个“程序集”。程序集只是一个包含托管代码的DLL。然后,您可以从完全托管的C#应用​​程序中“引用”(链接的托管等效项)。因此,依赖关系可能看起来像这样:

C->托管C ++-> C#


0
投票

如果您足够舒适地用C ++包装C代码,则可以按照this微软指南轻松地制作一个dll。它详细说明了如何使用C ++创建dll。如果您需要更深入的解释,请随时与我联系,我将尽力提供快速的操作方法。

也请告知我您使用的是其他IDE还是环境,我可以根据您的需要提供更准确的答案。

可能会在今天晚些时候,尽管目前时间紧迫。

© www.soinside.com 2019 - 2024. All rights reserved.