|
<p>本来在C/C++区回复阿杰的,但发完才发现回复别人的帖子不能发附件,所以在这里重发了,以下是代码,由FB0.20编译通过,过几天再发个VB的上来,不过VB要做位运算确实是个麻烦事</p>
<p><font face="Verdana">#Include "windows.bi"<br/>Dim Shared As UInteger crcTable(0 To 255) =>{&H0, &H77073096, &Hee0e612c, &H990951ba, &H76dc419, &H706af48f, &He963a535, &H9e6495a3, _ <br/> &Hedb8832, &H79dcb8a4, &He0d5e91e, &H97d2d988, &H9b64c2b, &H7eb17cbd, &He7b82d07, &H90bf1d91, _<br/> &H1db71064, &H6ab020f2, &Hf3b97148, &H84be41de, &H1adad47d, &H6ddde4eb, &Hf4d4b551, &H83d385c7, _<br/> &H136c9856, &H646ba8c0, &Hfd62f97a, &H8a65c9ec, &H14015c4f, &H63066cd9, &Hfa0f3d63, &H8d080df5, _<br/> &H3b6e20c8, &H4c69105e, &Hd56041e4, &Ha2677172, &H3c03e4d1, &H4b04d447, &Hd20d85fd, &Ha50ab56b, _<br/> &H35b5a8fa, &H42b2986c, &Hdbbbc9d6, &Hacbcf940, &H32d86ce3, &H45df5c75, &Hdcd60dcf, &Habd13d59, _<br/> &H26d930ac, &H51de003a, &Hc8d75180, &Hbfd06116, &H21b4f4b5, &H56b3c423, &Hcfba9599, &Hb8bda50f, _<br/> &H2802b89e, &H5f058808, &Hc60cd9b2, &Hb10be924, &H2f6f7c87, &H58684c11, &Hc1611dab, &Hb6662d3d, _<br/> &H76dc4190, &H1db7106, &H98d220bc, &Hefd5102a, &H71b18589, &H6b6b51f, &H9fbfe4a5, &He8b8d433, _<br/> &H7807c9a2, &Hf00f934, &H9609a88e, &He10e9818, &H7f6a0dbb, &H86d3d2d, &H91646c97, &He6635c01, _<br/> &H6b6b51f4, &H1c6c6162, &H856530d8, &Hf262004e, &H6c0695ed, &H1b01a57b, &H8208f4c1, &Hf50fc457, _<br/> &H65b0d9c6, &H12b7e950, &H8bbeb8ea, &Hfcb9887c, &H62dd1ddf, &H15da2d49, &H8cd37cf3, &Hfbd44c65, _<br/> &H4db26158, &H3ab551ce, &Ha3bc0074, &Hd4bb30e2, &H4adfa541, &H3dd895d7, &Ha4d1c46d, &Hd3d6f4fb, _<br/> &H4369e96a, &H346ed9fc, &Had678846, &Hda60b8d0, &H44042d73, &H33031de5, &Haa0a4c5f, &Hdd0d7cc9, _<br/> &H5005713c, &H270241aa, &Hbe0b1010, &Hc90c2086, &H5768b525, &H206f85b3, &Hb966d409, &Hce61e49f, _<br/> &H5edef90e, &H29d9c998, &Hb0d09822, &Hc7d7a8b4, &H59b33d17, &H2eb40d81, &Hb7bd5c3b, &Hc0ba6cad, _<br/> &Hedb88320, &H9abfb3b6, &H3b6e20c, &H74b1d29a, &Head54739, &H9dd277af, &H4db2615, &H73dc1683, _<br/> &He3630b12, &H94643b84, &Hd6d6a3e, &H7a6a5aa8, &He40ecf0b, &H9309ff9d, &Ha00ae27, &H7d079eb1, _<br/> &Hf00f9344, &H8708a3d2, &H1e01f268, &H6906c2fe, &Hf762575d, &H806567cb, &H196c3671, &H6e6b06e7, _<br/> &Hfed41b76, &H89d32be0, &H10da7a5a, &H67dd4acc, &Hf9b9df6f, &H8ebeeff9, &H17b7be43, &H60b08ed5, _<br/> &Hd6d6a3e8, &Ha1d1937e, &H38d8c2c4, &H4fdff252, &Hd1bb67f1, &Ha6bc5767, &H3fb506dd, &H48b2364b, _<br/> &Hd80d2bda, &Haf0a1b4c, &H36034af6, &H41047a60, &Hdf60efc3, &Ha867df55, &H316e8eef, &H4669be79, _<br/> &Hcb61b38c, &Hbc66831a, &H256fd2a0, &H5268e236, &Hcc0c7795, &Hbb0b4703, &H220216b9, &H5505262f, _<br/> &Hc5ba3bbe, &Hb2bd0b28, &H2bb45a92, &H5cb36a04, &Hc2d7ffa7, &Hb5d0cf31, &H2cd99e8b, &H5bdeae1d, _<br/> &H9b64c2b0, &Hec63f226, &H756aa39c, &H26d930a, &H9c0906a9, &Heb0e363f, &H72076785, &H5005713, _<br/> &H95bf4a82, &He2b87a14, &H7bb12bae, &Hcb61b38, &H92d28e9b, &He5d5be0d, &H7cdcefb7, &Hbdbdf21, _<br/> &H86d3d2d4, &Hf1d4e242, &H68ddb3f8, &H1fda836e, &H81be16cd, &Hf6b9265b, &H6fb077e1, &H18b74777, _<br/> &H88085ae6, &Hff0f6a70, &H66063bca, &H11010b5c, &H8f659eff, &Hf862ae69, &H616bffd3, &H166ccf45, _<br/> &Ha00ae278, &Hd70dd2ee, &H4e048354, &H3903b3c2, &Ha7672661, &Hd06016f7, &H4969474d, &H3e6e77db, _<br/> &Haed16a4a, &Hd9d65adc, &H40df0b66, &H37d83bf0, &Ha9bcae53, &Hdebb9ec5, &H47b2cf7f, &H30b5ffe9, _<br/> &Hbdbdf21c, &Hcabac28a, &H53b39330, &H24b4a3a6, &Hbad03605, &Hcdd70693, &H54de5729, &H23d967bf, _<br/> &Hb3667a2e, &Hc4614ab8, &H5d681b02, &H2a6f2b94, &Hb40bbe37, &Hc30c8ea1, &H5a05df1b, &H2d02ef8d}<br/>Extern "windows-ms"<br/>Function getcrc(ByVal c As Byte ptr, ByVal Length As Integer) As UInteger export<br/> Dim As UInteger crc 'FB里好像也可以可以用寄存器变量的(因为GCC好像是可以的),我暂时还没找到相关的关键字,所以就不用了<br/> Dim As Byte Ptr e= c + Length<br/> <br/> crc = &HFFFFFFFF<br/> while (c < e)<br/> crc = ((crc Shr 8) And &H00FFFFFF) Xor crcTable((crc xor *c) And &HFF)<br/> c+=1<br/> Wend<br/> Return ( crc Xor &HFFFFFFFF )<br/>End Function<br/>End Extern<br/>'使用Extern.....End Extern的目的是使编译后的EXE可以作为DLL一样使用 <br/>'以下为命令行用法,即: EXE文件名 待求CRC值的字符串<br/>If Command<>"" Then<br/> MessageBox(NULL,getcrc(@Command,Len(Command)),"CRC32值(HEX)",MB_OK)<br/>EndIf <br/></font>
hWNrfde3.rar
(9.38 KB, 下载次数: 17444)
<br/></p> |
|