CRC32 C или [закрытая] реализация C++

52
задан Gabriel Staples 18 August 2016 в 09:12
поделиться

4 ответа

Используйте библиотеки C++ Повышения . Существует CRC, включенный там и , лицензия хороша.

24
ответ дан Janus Troelsen 7 November 2019 в 09:10
поделиться

Эти ОТРЫВКИ 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 как неподписанное 8-разрядное целое число и DWORD как неподписанное 32-разрядное целое число, наряду с заголовочными файлами crc.h & sniptype.h.

единственный критический объект в заголовке является этим макросом (который мог столь же легко войти в сам CRC_32.c:

#define UPDC32(octet, crc) (crc_32_tab[((crc) ^ (octet)) & 0xff] ^ ((crc) >> 8))
33
ответ дан cjm 7 November 2019 в 09:10
поделиться

Я - автор исходного кода в указанной ссылке. В то время как намерение лицензии исходного кода не ясно (это будет позже сегодня), код является на самом деле открытым и бесплатным для использования в Ваших бесплатных приложениях или коммерческом применении без каких-либо условий.

27
ответ дан NTDLS 7 November 2019 в 09:10
поделиться

pycrc - это сценарий Python, который генерирует код CRC на языке C, с возможностью выбора размера, алгоритма и модели CRC.

Он выпущен под лицензией MIT. Это приемлемо для ваших целей?

5
ответ дан 7 November 2019 в 09:10
поделиться