我在C ++中有一个返回指针值的函数:
fPosFirst( int &aId, char *aNname, char *aDirectory );
但我必须把它传递给C#。我怎么能这样做?
答案 0 :(得分:3)
您需要检查P/Invoke(平台调用),这是一种从.Net /托管代码(C#)调用本机代码函数(C和C ++)的方法。
答案 1 :(得分:1)
这是VB.NET语法,但您应该能够轻松地将其转换为C#。
Private Declare Ansi Sub fPosFirst lib "libraryname" (ByRef aId as Integer, byval aName as StringBuilder, byval aDirectory as StringBuilder)
现在如果aNname和aDirectory应该是const char *,你可以使用String而不是StringBuilder,它会变得更容易。