亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? crc32.c

?? VC++視頻開發實例集錦(包括“遠程視頻監控”"語音識別系統"等13個經典例子)
?? C
字號:
/* crc32.c -- compute the CRC-32 of a data stream
 * Copyright (C) 1995-2002 Mark Adler
 * For conditions of distribution and use, see copyright notice in zlib.h 
 */

/* @(#) $Id: crc32.c,v 1.1 2003/02/17 15:24:58 marcuso Exp $ */

#include "zlib.h"

#define local static

#ifdef DYNAMIC_CRC_TABLE

local int crc_table_empty = 1;
local uLongf crc_table[256];
local void make_crc_table OF((void));

/*
  Generate a table for a byte-wise 32-bit CRC calculation on the polynomial:
  x^32+x^26+x^23+x^22+x^16+x^12+x^11+x^10+x^8+x^7+x^5+x^4+x^2+x+1.

  Polynomials over GF(2) are represented in binary, one bit per coefficient,
  with the lowest powers in the most significant bit.  Then adding polynomials
  is just exclusive-or, and multiplying a polynomial by x is a right shift by
  one.  If we call the above polynomial p, and represent a byte as the
  polynomial q, also with the lowest power in the most significant bit (so the
  byte 0xb1 is the polynomial x^7+x^3+x+1), then the CRC is (q*x^32) mod p,
  where a mod b means the remainder after dividing a by b.

  This calculation is done using the shift-register method of multiplying and
  taking the remainder.  The register is initialized to zero, and for each
  incoming bit, x^32 is added mod p to the register if the bit is a one (where
  x^32 mod p is p+x^32 = x^26+...+1), and the register is multiplied mod p by
  x (which is shifting right by one and adding x^32 mod p if the bit shifted
  out is a one).  We start with the highest power (least significant bit) of
  q and repeat for all eight bits of q.

  The table is simply the CRC of all possible eight bit values.  This is all
  the information needed to generate CRC's on data a byte at a time for all
  combinations of CRC register values and incoming bytes.
*/
local void make_crc_table()
{
  uLong c;
  int n, k;
  uLong poly;            /* polynomial exclusive-or pattern */
  /* terms of polynomial defining this crc (except x^32): */
  static const Byte p[] = {0,1,2,4,5,7,8,10,11,12,16,22,23,26};

  /* make exclusive-or pattern from polynomial (0xedb88320L) */
  poly = 0L;
  for (n = 0; n < sizeof(p)/sizeof(Byte); n++)
    poly |= 1L << (31 - p[n]);
 
  for (n = 0; n < 256; n++)
  {
    c = (uLong)n;
    for (k = 0; k < 8; k++)
      c = c & 1 ? poly ^ (c >> 1) : c >> 1;
    crc_table[n] = c;
  }
  crc_table_empty = 0;
}
#else
/* ========================================================================
 * Table of CRC-32's of all single-byte values (made by make_crc_table)
 */
local const uLongf crc_table[256] = {
  0x00000000L, 0x77073096L, 0xee0e612cL, 0x990951baL, 0x076dc419L,
  0x706af48fL, 0xe963a535L, 0x9e6495a3L, 0x0edb8832L, 0x79dcb8a4L,
  0xe0d5e91eL, 0x97d2d988L, 0x09b64c2bL, 0x7eb17cbdL, 0xe7b82d07L,
  0x90bf1d91L, 0x1db71064L, 0x6ab020f2L, 0xf3b97148L, 0x84be41deL,
  0x1adad47dL, 0x6ddde4ebL, 0xf4d4b551L, 0x83d385c7L, 0x136c9856L,
  0x646ba8c0L, 0xfd62f97aL, 0x8a65c9ecL, 0x14015c4fL, 0x63066cd9L,
  0xfa0f3d63L, 0x8d080df5L, 0x3b6e20c8L, 0x4c69105eL, 0xd56041e4L,
  0xa2677172L, 0x3c03e4d1L, 0x4b04d447L, 0xd20d85fdL, 0xa50ab56bL,
  0x35b5a8faL, 0x42b2986cL, 0xdbbbc9d6L, 0xacbcf940L, 0x32d86ce3L,
  0x45df5c75L, 0xdcd60dcfL, 0xabd13d59L, 0x26d930acL, 0x51de003aL,
  0xc8d75180L, 0xbfd06116L, 0x21b4f4b5L, 0x56b3c423L, 0xcfba9599L,
  0xb8bda50fL, 0x2802b89eL, 0x5f058808L, 0xc60cd9b2L, 0xb10be924L,
  0x2f6f7c87L, 0x58684c11L, 0xc1611dabL, 0xb6662d3dL, 0x76dc4190L,
  0x01db7106L, 0x98d220bcL, 0xefd5102aL, 0x71b18589L, 0x06b6b51fL,
  0x9fbfe4a5L, 0xe8b8d433L, 0x7807c9a2L, 0x0f00f934L, 0x9609a88eL,
  0xe10e9818L, 0x7f6a0dbbL, 0x086d3d2dL, 0x91646c97L, 0xe6635c01L,
  0x6b6b51f4L, 0x1c6c6162L, 0x856530d8L, 0xf262004eL, 0x6c0695edL,
  0x1b01a57bL, 0x8208f4c1L, 0xf50fc457L, 0x65b0d9c6L, 0x12b7e950L,
  0x8bbeb8eaL, 0xfcb9887cL, 0x62dd1ddfL, 0x15da2d49L, 0x8cd37cf3L,
  0xfbd44c65L, 0x4db26158L, 0x3ab551ceL, 0xa3bc0074L, 0xd4bb30e2L,
  0x4adfa541L, 0x3dd895d7L, 0xa4d1c46dL, 0xd3d6f4fbL, 0x4369e96aL,
  0x346ed9fcL, 0xad678846L, 0xda60b8d0L, 0x44042d73L, 0x33031de5L,
  0xaa0a4c5fL, 0xdd0d7cc9L, 0x5005713cL, 0x270241aaL, 0xbe0b1010L,
  0xc90c2086L, 0x5768b525L, 0x206f85b3L, 0xb966d409L, 0xce61e49fL,
  0x5edef90eL, 0x29d9c998L, 0xb0d09822L, 0xc7d7a8b4L, 0x59b33d17L,
  0x2eb40d81L, 0xb7bd5c3bL, 0xc0ba6cadL, 0xedb88320L, 0x9abfb3b6L,
  0x03b6e20cL, 0x74b1d29aL, 0xead54739L, 0x9dd277afL, 0x04db2615L,
  0x73dc1683L, 0xe3630b12L, 0x94643b84L, 0x0d6d6a3eL, 0x7a6a5aa8L,
  0xe40ecf0bL, 0x9309ff9dL, 0x0a00ae27L, 0x7d079eb1L, 0xf00f9344L,
  0x8708a3d2L, 0x1e01f268L, 0x6906c2feL, 0xf762575dL, 0x806567cbL,
  0x196c3671L, 0x6e6b06e7L, 0xfed41b76L, 0x89d32be0L, 0x10da7a5aL,
  0x67dd4accL, 0xf9b9df6fL, 0x8ebeeff9L, 0x17b7be43L, 0x60b08ed5L,
  0xd6d6a3e8L, 0xa1d1937eL, 0x38d8c2c4L, 0x4fdff252L, 0xd1bb67f1L,
  0xa6bc5767L, 0x3fb506ddL, 0x48b2364bL, 0xd80d2bdaL, 0xaf0a1b4cL,
  0x36034af6L, 0x41047a60L, 0xdf60efc3L, 0xa867df55L, 0x316e8eefL,
  0x4669be79L, 0xcb61b38cL, 0xbc66831aL, 0x256fd2a0L, 0x5268e236L,
  0xcc0c7795L, 0xbb0b4703L, 0x220216b9L, 0x5505262fL, 0xc5ba3bbeL,
  0xb2bd0b28L, 0x2bb45a92L, 0x5cb36a04L, 0xc2d7ffa7L, 0xb5d0cf31L,
  0x2cd99e8bL, 0x5bdeae1dL, 0x9b64c2b0L, 0xec63f226L, 0x756aa39cL,
  0x026d930aL, 0x9c0906a9L, 0xeb0e363fL, 0x72076785L, 0x05005713L,
  0x95bf4a82L, 0xe2b87a14L, 0x7bb12baeL, 0x0cb61b38L, 0x92d28e9bL,
  0xe5d5be0dL, 0x7cdcefb7L, 0x0bdbdf21L, 0x86d3d2d4L, 0xf1d4e242L,
  0x68ddb3f8L, 0x1fda836eL, 0x81be16cdL, 0xf6b9265bL, 0x6fb077e1L,
  0x18b74777L, 0x88085ae6L, 0xff0f6a70L, 0x66063bcaL, 0x11010b5cL,
  0x8f659effL, 0xf862ae69L, 0x616bffd3L, 0x166ccf45L, 0xa00ae278L,
  0xd70dd2eeL, 0x4e048354L, 0x3903b3c2L, 0xa7672661L, 0xd06016f7L,
  0x4969474dL, 0x3e6e77dbL, 0xaed16a4aL, 0xd9d65adcL, 0x40df0b66L,
  0x37d83bf0L, 0xa9bcae53L, 0xdebb9ec5L, 0x47b2cf7fL, 0x30b5ffe9L,
  0xbdbdf21cL, 0xcabac28aL, 0x53b39330L, 0x24b4a3a6L, 0xbad03605L,
  0xcdd70693L, 0x54de5729L, 0x23d967bfL, 0xb3667a2eL, 0xc4614ab8L,
  0x5d681b02L, 0x2a6f2b94L, 0xb40bbe37L, 0xc30c8ea1L, 0x5a05df1bL,
  0x2d02ef8dL
};
#endif

/* =========================================================================
 * This function can be used by asm versions of crc32()
 */
const uLongf * ZEXPORT get_crc_table()
{
#ifdef DYNAMIC_CRC_TABLE
  if (crc_table_empty) make_crc_table();
#endif
  return (const uLongf *)crc_table;
}

/* ========================================================================= */
#define DO1(buf) crc = crc_table[((int)crc ^ (*buf++)) & 0xff] ^ (crc >> 8);
#define DO2(buf)  DO1(buf); DO1(buf);
#define DO4(buf)  DO2(buf); DO2(buf);
#define DO8(buf)  DO4(buf); DO4(buf);

/* ========================================================================= */
uLong ZEXPORT crc32(crc, buf, len)
    uLong crc;
    const Bytef *buf;
    uInt len;
{
    if (buf == Z_NULL) return 0L;
#ifdef DYNAMIC_CRC_TABLE
    if (crc_table_empty)
      make_crc_table();
#endif
    crc = crc ^ 0xffffffffL;
    while (len >= 8)
    {
      DO8(buf);
      len -= 8;
    }
    if (len) do {
      DO1(buf);
    } while (--len);
    return crc ^ 0xffffffffL;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
97久久精品人人澡人人爽| 久久99久久99| 日韩精品一区二区三区在线观看 | 欧美mv日韩mv国产网站app| 成人av午夜电影| 美女国产一区二区| 亚洲一区在线播放| 国产精品国产三级国产aⅴ原创 | 日韩欧美国产一二三区| 色综合久久久久综合| 国产传媒欧美日韩成人| 日本亚洲电影天堂| 亚洲精品水蜜桃| 亚洲欧洲av在线| 精品国产麻豆免费人成网站| 欧美群妇大交群的观看方式| 日韩一区二区三区高清免费看看| av激情成人网| 亚洲综合图片区| 伊人开心综合网| 亚洲欧美日韩人成在线播放| 日韩视频免费观看高清在线视频| 精品视频资源站| 337p亚洲精品色噜噜噜| 欧美综合色免费| 欧美午夜精品电影| 欧美久久一二区| 欧美一区二区三区性视频| 欧美日韩国产小视频在线观看| 色视频一区二区| 在线欧美日韩国产| 欧美人狂配大交3d怪物一区| 欧美一级免费观看| 欧美精品一区二区三区蜜臀| 久久久久久久电影| 国产精品三级久久久久三级| 成人欧美一区二区三区白人 | 国产人久久人人人人爽| 国产亚洲午夜高清国产拍精品| 国产欧美va欧美不卡在线| 国产婷婷一区二区| 国产精品网站在线播放| 中文字幕在线一区二区三区| 夜夜揉揉日日人人青青一国产精品| 亚洲精品国产高清久久伦理二区| 亚洲综合一区二区| 精品一区二区三区不卡 | 国产99久久久精品| 欧美日韩的一区二区| 久久久91精品国产一区二区三区| 一区二区三区精密机械公司| 国产美女一区二区三区| 7777精品久久久大香线蕉| 成人欧美一区二区三区白人| 久久精工是国产品牌吗| 欧美三区免费完整视频在线观看| 久久婷婷国产综合精品青草| 日韩在线观看一区二区| 色婷婷综合久久久中文一区二区 | 日韩美女视频在线| 亚洲国产另类av| 色综合网站在线| 国产精品国产三级国产aⅴ无密码 国产精品国产三级国产aⅴ原创 | 日韩一区精品字幕| 在线观看视频一区| 国产精品成人网| 成人精品小蝌蚪| 国产日韩欧美亚洲| 国内精品国产成人国产三级粉色| 在线不卡欧美精品一区二区三区| 亚洲一区二区三区在线| 91免费观看国产| 最近中文字幕一区二区三区| 不卡免费追剧大全电视剧网站| 国产欧美日韩综合| 成人午夜av影视| 中文av一区二区| 成人av在线观| 最新不卡av在线| 91美女片黄在线观看| 亚洲欧洲精品一区二区三区| 97精品国产露脸对白| 中文字幕一区av| 91小视频在线免费看| 亚洲狠狠丁香婷婷综合久久久| 99re这里只有精品首页| 亚洲一区在线观看视频| 91精品国产一区二区三区香蕉| 日本美女一区二区三区| 日韩免费观看2025年上映的电影| 国产在线国偷精品免费看| 国产精品美女一区二区| 色天天综合色天天久久| 视频一区中文字幕| 亚洲精品在线电影| 99久久精品免费观看| 亚洲国产精品久久艾草纯爱| 日韩一区二区在线看| 国产一区欧美二区| 亚洲精品欧美专区| 日韩欧美一卡二卡| 9i在线看片成人免费| 天天综合网 天天综合色| 精品理论电影在线| 成人18视频在线播放| 亚瑟在线精品视频| 国产欧美一区二区在线| 色噜噜狠狠色综合欧洲selulu| 日韩电影免费一区| 中文字幕在线视频一区| 91精品国产美女浴室洗澡无遮挡| 国产一区视频导航| 亚洲成人黄色影院| 国产欧美一区二区精品忘忧草| 欧美午夜在线观看| 国产99精品在线观看| 婷婷中文字幕一区三区| 国产丝袜美腿一区二区三区| 在线观看视频91| 成人免费黄色在线| 久久精品国产精品青草| 亚洲在线观看免费视频| 国产午夜精品久久久久久免费视| 欧美体内she精视频| 99久久综合色| 国产综合色在线| 天天影视网天天综合色在线播放 | 91福利资源站| 国产福利一区二区三区在线视频| 亚洲成精国产精品女| 国产精品国产三级国产普通话99 | 日韩av电影天堂| 中文字幕一区二区三区精华液| 日韩欧美一区二区免费| 欧美色老头old∨ideo| 99视频在线精品| 国产专区欧美精品| 青青草97国产精品免费观看 | 欧美成人在线直播| 欧美精品日韩一本| 在线亚洲免费视频| 日本高清不卡视频| 99久久免费精品高清特色大片| 国产乱理伦片在线观看夜一区| 日韩不卡一区二区| 视频一区中文字幕| 视频一区二区不卡| 亚洲成a人片在线观看中文| 亚洲午夜免费电影| 亚洲二区视频在线| 午夜精品福利一区二区三区蜜桃| √…a在线天堂一区| 最新中文字幕一区二区三区 | 欧美一区二区三区色| 在线不卡免费av| 日韩视频不卡中文| 欧美本精品男人aⅴ天堂| 欧美本精品男人aⅴ天堂| 日韩午夜电影在线观看| 国产日产欧美一区| 久久久久国产精品麻豆| 久久久综合视频| 欧美激情一区在线观看| 中文字幕不卡三区| 亚洲丝袜制服诱惑| 亚洲国产欧美一区二区三区丁香婷| 洋洋av久久久久久久一区| 亚洲第一二三四区| 久久成人免费电影| 国产成人自拍网| 色婷婷久久久亚洲一区二区三区| 日本道精品一区二区三区| 51精品国自产在线| 中文字幕不卡一区| 婷婷激情综合网| 国产乱淫av一区二区三区| 91网上在线视频| 日韩一级大片在线| 成人欧美一区二区三区白人| 亚洲最大成人综合| 日本vs亚洲vs韩国一区三区二区| 黄网站免费久久| 在线观看成人免费视频| 欧美大片免费久久精品三p | 色系网站成人免费| 精品国产91洋老外米糕| 日韩理论片网站| 美国精品在线观看| 91尤物视频在线观看| 日韩欧美一级二级三级| 成人免费一区二区三区视频| 视频一区中文字幕国产| caoporn国产一区二区| 91精品国产综合久久婷婷香蕉| 国产午夜精品理论片a级大结局| 亚洲午夜国产一区99re久久| 久久99国产精品尤物| 欧美影视一区二区三区| 久久精品视频免费| 美女被吸乳得到大胸91|