mike4678 发表于 2023-8-17 19:59:57

最快取CRC32

其实确实没想明白,为啥官方不加进计算CRC的命令,建议官方是否可以考虑后续加进来
进入正题,因为需要,但是又不想调用易语言写的DLL,所以就想在火山上移植过来,无奈不太顺利,就去找了下是否有更简便的,于是就发现了这个函数,"RtlComputeCrc32"

DLL部分
<火山程序 类型 = "通常" 版本 = 1 />

方法 RtlComputeCrc32 <公开 静态 类型 = 整数 @输出名 = "RtlComputeCrc32" @视窗.输入 = "ntdll">
参数 码表 <类型 = 变整数>
参数 数据 <类型 = 字节集类>
参数 长度 <类型 = 变整数>
{

}


调用方式
<火山程序 类型 = "通常" 版本 = 1 />

变量 长度 <类型 = 整数>
变量 crc32 <类型 = 文本型>
变量 字节集数据 <类型 = 字节集类>

字节集数据 = 读入文件 (File, )
长度 = 取字节集长度 (字节集数据)
如果真 (长度 < 1)
{
    返回 ("")
}


crc32 = 取十六进制文本 (RtlComputeCrc32 (0, 字节集数据, 字节集数据.取字节集长度 ()))



创世魂 发表于 2023-8-17 20:04:17

基础函数那么多,难免有遗漏

fengshangren 发表于 2023-8-17 22:36:37

这个没有自己写的快,但是也无所谓了

tmf19901124 发表于 2023-8-18 11:09:42

未文档化的API肯定不能一股脑的都加入官方,毕竟谁也不知道巨硬会在哪个系统版本更改

mike4678 发表于 2023-8-18 11:25:57

fengshangren 发表于 2023-8-17 22:36
这个没有自己写的快,但是也无所谓了

至少是最简单的。。。。:噜阿噜

199 发表于 2024-6-1 21:42:49

刚搜索了一下,官方的还没加进去,另外CRC16有没有,麻烦指点一下
页: [1]
查看完整版本: 最快取CRC32