우리는 랩소디 생성 코드를 분석하기 위해 PCLint를 사용하고 있으며 우리가 작성하지 않은 프레임 워크 코드의 오류를 무시하고 싶습니다.PCLint는 부분적으로 일부 파일을 분석합니다
이것은 PCLint가 Rhapsody에서 생성 한 주석을 사용하여 일부 파일을 부분적으로 분석해야 함을 의미합니다. 예를 들어 아래의 세 가지 기능은 모두 동일한 소스 파일에 있습니다.
이 기능은 완전히 자동 생성되므로 무시해야합니다.
static void initStatechart(SomeClass* const me) {
me->rootState_subState = SomeClass_RiCNonState;
me->rootState_active = SomeClass_RiCNonState;
}
이 함수에서는 "코드가 여기에 있습니다"라는 태그가있는 부분 만 PCLint에서 분석해야합니다.
static void rootState_entDef(void * const void_me) {
SomeClass * const me = (SomeClass *)void_me;
{
me->rootState_subState = SomeClass_InitState;
me->rootState_active = SomeClass_InitState;
{
/*#[ state InitState.(Entry) */
..... Our code is here ....
/*#]*/
}
RiCReactive_schedTm(&(me->ric_reactive), 1000, SomeClass_Timeout_InitState_id);
}
}
이 기능은 전적으로 작성되었으며 분석해야합니다.
/*## operation someFunction() */
static void someFunction(SomeClass* const me) {
/*#[ operation someFunction() */
.... This function is fully written by us ....
/*#]*/
}
가능합니까? 어쩌면 미친 정규식을 사용하고 있을까요?
-save 및 -restore 옵션은 아마도 솔루션의 일부일 수 있습니다. 예 : PC-lint를 -w0 옵션과 함께 호출하여 모든 경고를 초기에 비활성화하십시오. 그런 다음/* lint -save -w3 * /와 lint -restore * /를 코드 주위에 (또는 사용하려는 경고 수준으로) 넣고 해당 부분에 대한 경고를 활성화 할 수 있습니다. –