小编soc*_*str的帖子

如何加快 crc32 计算?

我正在尝试在 linux 上尽可能快地编写 crc32 实现,作为学习优化 C 的练习。我已经尽力了,但我一直无法在网上找到很多好的资源。我什至不确定我的缓冲区大小是否合理;它是通过反复实验选择出来的。

#include <stdio.h>
#define BUFFSIZE 1048567

const unsigned long int lookupbase = 0xEDB88320;
unsigned long int crctable[256] = {
0x00000000, 0x77073096, 0xEE0E612C, 0x990951BA,
/* LONG LIST OF PRECALCULTED VALUES */
0xB40BBE37, 0xC30C8EA1, 0x5A05DF1B, 0x2D02EF8D};

int main(int argc, char *argv[]){
    register unsigned long int x;
    int i;
    register unsigned char *c, *endbuff;
    unsigned char buff[BUFFSIZE];
    register FILE *thisfile=NULL;
    for (i = 1; i < argc; i++){
        thisfile = fopen(argv[i], "r");
        if (thisfile == NULL) { …
Run Code Online (Sandbox Code Playgroud)

c crc32

5
推荐指数
1
解决办法
2036
查看次数

标签 统计

c ×1

crc32 ×1