调用C函数并在C#中获取字符串输出

时间:2012-07-10 13:59:09

标签: .net c marshalling

我想在C语言文件中有一个函数,它可以返回字符串作为输出,我想从托管代码中访问该函数,即C#,并将该字符串作为返回值。任何与此相关的帮助或链接对我来说都很棒。

2 个答案:

答案 0 :(得分:3)

这是公共库或自定义库中的方法吗?更常见的可以在pinvoke.net找到。如果没有,MSDN就Platform Invoking使用DllImport撰写了一篇可能有用的文章。

答案 1 :(得分:0)

您可以使用Platform Invoke来调用您的C函数。基本上,您将声明extern方法:

[DllImport("yourlibrary.dll")]
static extern YourFunctionName(...)

使编组正确的语义有点棘手,但这个data types页面应该可以让你开始。