2011-10-09 173 views
1

采用指针我在C++函数返回指针值:调用C++函数,从C#

fPosFirst(int &aId, char *aNname, char *aDirectory); 

但是我不得不这样传递给C#。我怎样才能做到这一点?

回答

1

这是VB.NET语法,但您应该可以很容易地将其转换为C#。

Private Declare Ansi Sub fPosFirst lib "libraryname" (ByRef aId as Integer, byval aName as StringBuilder, byval aDirectory as StringBuilder) 

现在,如果aNname和a目录应该已经为const char *,你可以使用字符串,而不是StringBuilder的,它得到了很多更加容易。

3

您需要检查P/Invoke(平台调用),这是一种从.Net /托管代码(C#)调用本地代码函数(C和C++)的方法。