MicroC-MXF에 대한 MISRA C 규칙 및 위반

MicroC-MXF를 사용하여 MISRA C 준수 코드를 생성하는 경우 MISRA C 규칙을 따라야 합니다.

용도

다음은 알려진 규칙 위반 목록을 표시합니다.
표 1. Rhapsody-C 7.5.3/ mxf MisraC 규칙 및 위반
MISRA 규칙 MISRA 규칙 설명 Rhapsody-C 7.5.3/ mxf 준수 상태 위반 설명, 주석
98 2004
93 (A) 19.7 (A) 함수 및 매크로 준수하지 않음. 효율적인 함수 인라인을 지원하지 않는 일부 환경에서 성능 향상을 제공하는 데 사용됩니다.
96 (R) 19.10 (R) mxf로부터 호출된 일부 특정 작업공간에서 준수하지 않음. 여기 설명에 나열된 특정 생성자를 사용하지 않으면 방지할 수 있습니다. OXF 코드가 있는 일부 작업공간에서 준수하지 않음.
매개변수 캡슐화:
  1. 데이터 선언의 유형으로 사용되는 매개변수
  2. ## 피연산자로 사용되는 매개변수(Misra 준수)
해당사항 없음 19.13 (A) # 및 ## 프리프로세서 연산자는 사용하지 말아야 합니다. 준수하지 않음. .mxf 파일의 향상된 유연성을 제공하는 데 사용됩니다.
다음은 Rhapsody-C 7.5.3/ mxf MISRA C 준수성에 대한 추가 설명 및 예제를 표시합니다.
  • MISRA 규칙 #93(R): 함수와 같은 매크로보다 함수를 사용해야 합니다.

    위반 설명: 매크로는 더 나은 효율성을 위해 함수 대신 사용되며, 효율적인 함수 인라인을 지원하지 않는 일부 환경에서 성능 향상을 제공합니다.

    #define RiCGEN(INSTANCE,EVENT) 									\
       ((INSTANCE) != NULL) ? RiCReactive_gen(&((INSTANCE)->ric_reactive),	(EVENT), RiCFALSE): RiCFALSE 

피드백