我需要你的帮助,让我在这里解释一下情况: 我有用VC ++ 6.0编写的交流源代码,我需要在我编码的C#应用程序中使用该代码,我做了很多事情才能实现,我已经在发布模式下运行了C源文件并且有生成了intermediate.manifest文件和那里的其他文件,我可以使用这些文件中的任何一个来解决我的问题。否则请指导我应该尽快做什么?
Rahul Sharma
答案 0 :(得分: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 ”。
答案 1 :(得分:0)
另一种方法是将C代码包装在托管C ++中。 Microsoft称之为C ++ / CLI。无论如何,你然后从该包装器编译一个'程序集'。程序集只是一个包含托管代码的DLL。然后,您可以从完全托管的C#应用程序中“引用”(管理的等效链接)“包装”。 因此依赖关系可能如下所示:
C - >托管C ++ - > C#
答案 2 :(得分:0)
如果你足够舒服地用c ++包装c代码,你可以通过this微软指南轻松制作一个dll。它详细介绍了如何在C ++中创建一个dll。如果您需要更深入的解释,请随时回复我,我会尝试快速解决问题。
如果您使用不同的IDE或环境,请告诉我,我可以更准确地说明您的需求。
可能会在今天晚些时候,但是现在我很紧张。