2011-09-23 4 views
2

나는이 기능을 가지고 : 그것은 CRC8.h에 선언의PC 린트 오류 714

BOOL isCRCValid(const UINT8 *ptr, UINT8 Len, UINT8 CRCChar){ 
    return CRCChar == generateCRC(ptr, Len); //generareCRC returns a UINT8 
} 

을하지만, PC 린트는 나에게 다음을 반환합니다.

Info 714: Symbol 'isCRCValid(const unsigned char *, unsigned char, unsigned 
    char)' not referenced 
Info 830: Location cited in prior message 

도움말 (714)는 말한다 :

714 : 기호 '기호'(위치) 참조되지 - 명명 된 외부 변수 또는 외부 함수가 정의되었지만 참조되지. 이 단위 체크 아웃 (-u 옵션) 메시지가 표시되지 않습니다.

830은 다음과 같습니다

830 위치 전에 메시지에 인용 - 는 '정규의 형식' 다른 메시지 내에 포함 된 위치 정보를 전달하는 메시지 (830)는 차량이다. 예를 들어, (다소 단순화 된) 메시지를 고려해

 file x.c line 37: Declaration for 'x' conflicts with line 22 

이는 메시지의 텍스트에 포함 된 위치 ("라인 22")가 포함되어 있습니다. 포함 된 위치 정보는 일반적으로 편집자와 (이 예에서는 줄 37)에만 위치 할 수있는 IDE (대화 형 개발 환경)에서 이해할 수 없습니다. 줄 22의 공칭 위치와 함께이 추가 메시지를 추가하면 사용자는 다음 메시지로 이동하여 '충돌'에 대한 모든 내용을 볼 수 있습니다. 이 메시지와 메시지 831 ( )은 메시지 억제에 대한 일반적인 규칙을 따르지 않습니다. 그들이 을 수행 한 경우 -w2 옵션을 사용하여 경고 레벨을 으로 낮추면이 메시지 (레벨 3에서)도 사라집니다. 대신 은 예상대로 계속 작동합니다. 명시 적 중 하나를 사용하여 해제 필요를 억제하려면 : 그들은 + e830을 통해 복원 할 수

  -e830 
     -e831 

와 + e831; 억제 상태는 이며 -save -restore 옵션을 통해 저장하고 복원 할 수 있습니다. -e8 * 및 -e {831}와 같은 옵션은 아무 효과가 없습니다.

나는 PC Lint와 함께 상대적으로 초보자이며 C로이 초보자로서이 문제를 해결하지 못했습니다.

누구든지이 문제를 해결할 수 있습니까?

답변

6

메시지는 단순히 PCLint가 실제로이 기능을 사용하는 것을 찾지 못했음을 의미하므로 제거를위한 데드 코드/후보가 될 수 있습니다.

+0

하지만이 기능을 사용하고 있습니다. 하지만이 파일 만 보았습니다. 문제가이 파일에만 문제가 될 수 있습니까? –

+1

예. 이런 종류의 위양성을보고하지 않도록 파일 하나만 lint하는 경우'-u' 플래그를 사용하십시오. – Mat

+0

나는 전체 프로젝트를 보충하고 나는 문제가 없다. 도움을 주셔서 대단히 감사합니다. –

0

또한 함수에서 입력 인수를 사용하지 않았을 수도 있습니다.