2011-04-23 102 views
0

我需要你们的帮助,让我在这里解释的情况: 我已经写在VC++ 6.0 AC源代码,我需要的代码在我编码一个C#应用程序中使用,我做了几件事情要做到这一点,我已经跑在释放模式C源文件并生成intermediate.manifest文件和其他文件在那里,我可以使用这些文件来使我的问题解决了。否则,请指导我应该尽快做什么?C源代码DLL

拉胡尔·夏尔马

+0

这是成千上万的答案对SO。只要看看相关部分。 http://stackoverflow.com/questions/4941736/using-c-dll-in-c – 2011-04-23 20:39:01

+0

事实上,你在这里发布了一个问题告诉我们,你会希望我们的帮助,不需要再说一遍' ;-)' – 2011-04-23 20:41:42

+0

我真的需要帮助,如果你能指导一下,会有很大的帮助 – 2011-04-23 20:44:20

回答

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

是啊我想调用这样的DLL,但我怎么能将C源文件转换为DLL? – 2011-04-23 20:44:01

+0

因此,SO可能不合适。请在网上搜索如何在VS中创建一个C DLL。 – 2011-04-23 20:46:57

0

另一种方法是包裹C代码在托管C++。微软称之为C++/CLI。无论如何,你然后从这个包装器编译一个'程序集'。程序集只是一个包含托管代码的DLL。然后,您可以从一个完全托管的C#应用​​程序中'引用'(管理的等效链接)'wrapper'。 所以依赖看起来是这样的:

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

0

如果您在C足够舒适包裹起来的C代码++,你可以很容易地通过下面的一个dll this微软指南。它详细介绍了如何在C++中创建一个dll。如果你需要更深入的解释,尽管随时可以回到我身边,我会试着敲一个快速的方法。

也让我知道,如果你使用一个不同的IDE或环境,我可以泰勒的答案,以满足您的需求更精确。

可能今天晚些时候但正如我在目前时间紧迫。