高分!高分!,,,,,,,一段C到C#的转换。请问有错不。
C语言:
static void snd_8to16(unsigned char * pcs, short * pwd, int len, unsigned char byPmo)
{
int i;
if(pcs==0 ¦ ¦ pwd==0 ¦ ¦ len <=0) return;
for(i=0; i <len; i++,pcs++,pwd++)
{
*pwd = (short)(((*pcs-128) < <byPmo));
}
return;
}
C使用:
snd_8to16(&cbuf[12], (void *)cbu2, size-7, cbuf[11]);
C#语言
unsafe void snd_8to16(byte* pcs, byte* pwd, int len, byte byPmo)
{
int i;
if (len <= 0) return;
for (i = 0; i < len; i++)
{
*pwd = (byte)(((*pcs - 128) < < byPmo));
pcs++;
pwd++;
}
return;
}
C#使用:
byte[] wavedate = new byte[(RawData.Length - 2)];
fixed (byte* r = &RawData[2], w = &wavedate[0])
{
snd_8to16(r, w, RawData.Length - 2, RawData[1]);
}
this.m_Fifo.Write(wavedate, 0, wavedate.Length);