请教牛人,怎么看c++代码移植到c#下???? 写成非托管dll,c#中用importDll引入 解决方案 » 封装成dll,在C#里面用ImportDLL调用,unsigned char*用string值就可以了 你用的是CRC校验的话可以参照http://www.cnblogs.com/armyfai/p/3566582.html这个里面有C#的CRC校验代码,可以看看 /// <summary> ///CRC16校验算法,(低字节在前,高字节在后) /// </summary> /// <param name="data">要校验的数组</param> /// <returns>返回校验结果,低字节在前,高字节在后</returns> public static byte[] crc16(byte[] data) { if (data.Length == 0) throw new Exception("调用CRC16校验算法,(低字节在前,高字节在后)时发生异常,异常信息:被校验的数组长度为0。"); byte[] temdata = new byte[data.Length + 2]; int xda, xdapoly; byte i, j, xdabit; xda = 0xFFFF; xdapoly = 0xA001; for (i = 0; i < data.Length; i++) { xda ^= data[i]; for (j = 0; j < 8; j++) { xdabit = (byte)(xda & 0x01); xda >>= 1; if (xdabit == 1) xda ^= xdapoly; } } temdata = new byte[2] { (byte)(xda & 0xFF), (byte)(xda >> 8) }; //低字节在前,高字节在后 //temdata = new byte[2] { (byte)(xda & 0xff00 >> 8), (byte)(xda & 0x00FF) }; //高字节在前,低字节在后 return temdata; } #endregion 怎样让TabControl控件随窗口的大小改变而改变 求已写好的自定义控件 TreeView问题!!急! 200分求教串口类调用方法! dll封装后的图标如何用图标名读取 System.Net.Dns.Resolve(Dns.GetHostByName)过时了怎么办! 如何远程访问Sqlserver数据库 vs.2003中开的水晶报表 利用C#,如何将图片插入到EXCEL或WORD中??? 求教:字符串型的怎么转换成整数型? 断开式数据访问,总是出现“未将对象引用到对象的实例” 求教C# PPPOE拨号问题
这个里面有C#的CRC校验代码,可以看看
/// <summary>
///CRC16校验算法,(低字节在前,高字节在后)
/// </summary>
/// <param name="data">要校验的数组</param>
/// <returns>返回校验结果,低字节在前,高字节在后</returns>
public static byte[] crc16(byte[] data)
{
if (data.Length == 0)
throw new Exception("调用CRC16校验算法,(低字节在前,高字节在后)时发生异常,异常信息:被校验的数组长度为0。");
byte[] temdata = new byte[data.Length + 2];
int xda, xdapoly;
byte i, j, xdabit;
xda = 0xFFFF;
xdapoly = 0xA001;
for (i = 0; i < data.Length; i++)
{
xda ^= data[i];
for (j = 0; j < 8; j++)
{
xdabit = (byte)(xda & 0x01);
xda >>= 1;
if (xdabit == 1)
xda ^= xdapoly;
}
}
temdata = new byte[2] { (byte)(xda & 0xFF), (byte)(xda >> 8) }; //低字节在前,高字节在后
//temdata = new byte[2] { (byte)(xda & 0xff00 >> 8), (byte)(xda & 0x00FF) }; //高字节在前,低字节在后
return temdata;
}
#endregion