CRC32 C または C++ 実装

SNIPPETS C ソース コード アーカイブには、自由に使用できる CRC32 実装があります。

/* Copyright (C) 1986 Gary S. Brown.  You may use this program, or
   code or tables extracted from it, as desired without restriction.*/

(残念ながら、c.snippets.org は終了したようです。幸いなことに、Wayback Machine にアーカイブされています。)

コードをコンパイルできるようにするには、BYTE の typedef を追加する必要があります。 符号なし 8 ビット整数および DWORD として ヘッダー ファイル crc.h および sniptype.h とともに、符号なし 32 ビット整数として。

ヘッダーの唯一の重要な項目はこのマクロです (CRC_32.c 自体に簡単に入れることができます:

#define UPDC32(octet, crc) (crc_32_tab[((crc) ^ (octet)) & 0xff] ^ ((crc) >> 8))

私は、指定されたリンクのソース コードの作成者です。ソース コード ライセンスの意図は明確ではありませんが (今日中に公開されます)、コードは実際にはオープンであり、無料または商用のアプリケーションで文字列を付けずに自由に使用できます。


Boost C++ ライブラリを使用します。そこには CRC が含まれており、ライセンスは有効です。