dll的函数是
char *A(char buf[])
{
char buffer[50]={};
return buffer;
}
C#中调用
char [] b =new char[50]{};
[DllImport("dll.dll")]
public static extern char A(char buf);
A(b);怎么把buffer[50]中的数据在C#中读出来
char *A(char buf[])
{
char buffer[50]={};
return buffer;
}
C#中调用
char [] b =new char[50]{};
[DllImport("dll.dll")]
public static extern char A(char buf);
A(b);怎么把buffer[50]中的数据在C#中读出来
public static extern System.IntPtr A(byte[] buf) ;
static char buffer[50];
char *A(unsigned char buf[])
{
for(int i=0;i<50;i++)
{
buffer[i]=buf[50];
}
return buffer;
}
C#中调用:
byte [] b =new byte[50]{1,1,1,1,1,1,1,1,1};
[DllImport("dll.dll")]
public static extern char A(char buf);
char [50]a;
a=A(b);//有问题????怎么把buffer[50]中的数据,赋值给C#中的a数组
第二,C#的函数声明应该是
[DllImport("dll.dll",CharSet=CharSet.Ansi,CallingConvention=CallingConvention.Cdecl)]
public static extern IntPtr A(string buf);
取值用Marshal.PtrToStringAnsi(A(b));
我的题目没写清楚
c++编写的dll中的函数:
static char buffer[50];
char *A(unsigned char buf[])
{
for(int i=0;i<50;i++)
{
buffer[i]=buf[50];
}
return buffer;
}
C#中调用:
byte [] b =new byte[50]{1,1,1,1,1,1,1,1,1};
[DllImport("dll.dll")]
public static extern char A(char buf);
char [50]a;
a=A(b);//有问题????怎么把buffer[50]中的数据,赋值给C#中的a数组