typedef struct my{
const char *name;
uint8_t is_alpha : 1;
uint8_t is_hwaccel : 1;
uint8_t x_chroma_shift;
uint8_t y_chroma_shift;
} mystr;
uint8_t
이 unsigned char
에 형식 정의되어 다음과 같이 선언 비트 필드를 사용하는 코드가 있습니다.
imgconvert.c(60) : warning C4214: nonstandard extension used : bit-field types other than int.
- 비트 필드 INT 이외의 다른 유형을 사용하여이 문제/잠재적 인 문제가이 비트 필드를 사용하여 MS-VS 2008의 코드를 구축는
다음과 같이 경고를 준다? 왜 경고 야?
- C99 C 언어 사양에서 허용하는 int 유형 비트 필드 이외입니까?
경고는 매우 자명합니다. __nonstandard extension used__; 코드에 이식성 문제가있을 수 있습니다. –
@Mehrad : int 형을 사용하는 것은 모든 타겟/컴파일러가 같은 크기의 int를 갖는 경우에만 이식성 측면에서 유용합니다. – goldenmean
여기에서 비트 필드에 관해 쓰고 있습니다. 코드에서 크기가 지정되어 있습니다. – AProgrammer