내 프로그램에서 다음 코드를 사용했으며 PC-Lint를 실행하는 동안 다음 오류가 발생합니다 : 이 줄에 여러 마커가 있습니다. - (lint : 46) 필드 유형 INT, 부호 INT 또는 서명 INT를해야한다 [MISRA이 규칙 6.4, 필요한 2004] - (보풀 : 960) MISRA 2004 필요한 규칙 6.4 위반 비트 필드가 명시 적으로 서명해야합니다 INT 또는 부호 INTMISRA 오류 : 필드 유형이 int, 부호없는 int 또는 부호가있는 int 여야합니다.
typedef struct{
boolean ch8 :1;
boolean Ch7 :1;
boolean Ch6 :1;
boolean Ch5 :1;
boolean Ch4 :1;
boolean Ch3 :1;
boolean Ch2 :1;
boolean Ch1 :1;
} Channel;
누군가이 문제를 해결할 수있는 방법을 말해 줄 수 있습니까?
무엇이'DC_BOOL'입니까? –
글쎄,'부울 '이란 무엇입니까? C에'boolean' 타입이 없습니다. –
대부분의 경우 컴파일러는 부울을 1 바이트 문자 유형으로 정의합니다. 어떤 상황에서도 비트 필드를 절대로 사용하지 않으면이 문제를 해결할 수 있습니다. 위험하고 이식성이 없으며 100 % 불필요합니다. – Lundin