[완료] C99 스타일을 C89 로 포팅하기에서...
글쓴이: 홍태 / 작성시간: 수, 2008/01/30 - 2:05오후
static struct { uint8_t le; uint8_t bits; uint32_t poly; } av_crc_table_params[AV_CRC_MAX]; = { [AV_CRC_8_ATM] = { 0, 8, 0x07 }, [AV_CRC_16_ANSI] = { 0, 16, 0x8005 }, [AV_CRC_16_CCITT] = { 0, 16, 0x1021 }, [AV_CRC_32_IEEE] = { 0, 32, 0x04C11DB7 }, [AV_CRC_32_IEEE_LE] = { 1, 32, 0xEDB88320 }, };
안녕하세요,
위와 같은 소스가 있는데요 C99 standard 를 지원하는 컴파일러로는 잘 컴파일이 되는데 그렇지 않은
컴파일러는 에러를 내며 컴파일이 안돼서요...
C89 스타일로 위의 내용을 바꾸려면 어떻게 해야하는지 궁굼합니다.
Forums:
Re:
[AV_CRC_8_ATM] = {...} 과 같은 문법이 C89 에서 지원하지 않는 것일 겁니다.
고치는 방법은 av_crc_table_params 뒤에 AV_CRC_MAX 갯수만큼의 초기값을 적어주어야 겠죠.
예를 들어서, AV_CRC_8_ATM 이 1 이고, AV_CRC_16_ANSI 가 3 이면,
같은 식으로 AV_CRC_MAX 갯수만큼 일일이 다 적어 주어야 합니다.
답변
답변 감사합니다.
가르쳐 주셔서 고맙습니다~
댓글 달기