[cpp] 부스트 라이브러리 CRC32 계산하기

@codemaru · December 10, 2015 · 1 min read

부스트에는 참 많은 기능이 있죠. CRC 계산하는 루틴도 포함되어 있습니다. 그것도 사용하기가 너무 너무 쉬워요. 그럼 일반적으로 많이 사용하는 32비트 CRC를 계산 루틴을 한 번 살펴볼까요 ㅋ~

#include <stdio.h>
#include "boost/crc.hpp" (1)

int main()
{
	boost::crc_32_type crc; (2)

	char bytes[] = "hello world!";
	crc.process_bytes(bytes, strlen(bytes)); (3)

	printf("%08x\n", crc.checksum()); (4)

	return 0;
}
  1. crc.hpp 일단 인클루드 해 주시구요.
  2. crc_32_type이 우리가 계산할 32비트 CRC를 계산하는 클래스 타입입니다.
  3. process_bytes로 CRC 계산할 버퍼를 계속 공급해 주시면 됩니다. 버퍼 포인터와 크기라는 건 뭐 그냥 아시겠지요?
    참고로 한번에 넘기기 큰 데이터는 분할해서 process_bytes를 호출하면 됩니다.
  4. checksum 메소드를 사용하면 계산된 32비트 CRC 값이 넘어 옵니다.
@codemaru
돌아보니 좋은 날도 있었고, 나쁜 날도 있었다. 그런 나의 모든 소소한 일상과 배움을 기록한다. 여기에 기록된 모든 내용은 한 개인의 관점이고 의견이다. 내가 속한 조직과는 1도 상관이 없다.
(C) 2001 YoungJin Shin, 0일째 운영 중