このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
MISRA C:2023 命令およびルール
Polyspace では、MISRA C™:2023 コーディング ルールと命令に対してコードをチェックできます。MISRA C:2023 規約では、以下のガイドラインが統合されました。
MISRA C:2012 ルールおよび命令。
Technical Corrigendum 1 (TC1) および Technical Corrigendum 2 (TC2) で明確化された項目。
Amendment 1 (AMD1)、Amendment 2 (AMD2)、Amendment 3 (AMD3)、Amendment 4 (AMD4) で追加された新しいルールおよび変更。
各ガイドラインは必須、必要、推奨というカテゴリのうち 1 つに分類されます。ルール チェックを設定する場合、これらのチェックすべきカテゴリのサブセットを選択できます。解析オプション [MISRA C:2023 のチェック] (-misra-c-2023)
を使用して、このルールのサブセットを有効にします。
自動的に生成されたコードでは、一部のルールがカテゴリを変更します。追加カテゴリである可読性への変更が含まれます。オプション [生成されたコードの要件を使用] (-misra-c-2023-agc-mode)
は自動的に生成されたコードの分類を有効にします。
Polyspace により定義された MISRA C:2023 ガイドラインには追加サブセットがあります。このガイドラインは SQO (ソフトウェア品質目標) と呼ばれ、直接または間接的に結果の精度に影響を与えます。コード チェックを設定するときに、これらのサブセットを選択できます。MISRA コーディング規約のソフトウェア品質目標サブセットを参照してください。
C11 や C17/C18 など、C 言語の特定のバージョンを使用している場合、MISRA C:2023 違反をより正確にチェックするため、C バージョンを指定します。C 標準バージョン (-c-version)
を参照してください。
Polyspace 結果
MISRA C:2023 Dir 1.1 | Any implementation-defined behavior on which the output of the program depends shall be documented and understood (R2024a 以降) |
MISRA C:2023 Dir 2.1 | All source files shall compile without any compilation errors (R2024a 以降) |
MISRA C:2023 Dir 4.1 | Run-time failures shall be minimized (R2024a 以降) |
MISRA C:2023 Dir 4.3 | Assembly language shall be encapsulated and isolated (R2024a 以降) |
MISRA C:2023 Dir 4.4 | Sections of code should not be "commented out" (R2024a 以降) |
MISRA C:2023 Dir 4.5 | Identifiers in the same name space with overlapping visibility should be typographically unambiguous (R2024a 以降) |
MISRA C:2023 Dir 4.6 | 基本数値型の代わりに、サイズと符号属性を示す typedefs を使用する必要があります。 (R2024a 以降) |
MISRA C:2023 Dir 4.7 | If a function returns error information, then that error information shall be tested (R2024a 以降) |
MISRA C:2023 Dir 4.8 | If a pointer to a structure or union is never dereferenced within a translation unit, then the implementation of the object should be hidden (R2024a 以降) |
MISRA C:2023 Dir 4.9 | A function should be used in preference to a function-like macro where they are interchangeable (R2024a 以降) |
MISRA C:2023 Dir 4.10 | Precautions shall be taken in order to prevent the contents of a header file being included more than once (R2024a 以降) |
MISRA C:2023 Dir 4.11 | The validity of values passed to library functions shall be checked (R2024a 以降) |
MISRA C:2023 Dir 4.12 | Dynamic memory allocation shall not be used (R2024a 以降) |
MISRA C:2023 Dir 4.13 | Functions which are designed to provide operations on a resource should be called in an appropriate sequence (R2024a 以降) |
MISRA C:2023 Dir 4.14 | The validity of values received from external sources shall be checked (R2024a 以降) |
MISRA C:2023 Dir 4.15 | Evaluation of floating-point expressions shall not lead to the undetected generation of infinities and NaNs (R2024a 以降) |
MISRA C:2023 Dir 5.1 | There shall be no data races between threads (R2024b 以降) |
MISRA C:2023 Dir 5.2 | There shall be no deadlocks between threads (R2024b 以降) |
MISRA C:2023 Rule 1.1 | The program shall contain no violations of the standard C syntax and constraints, and shall not exceed the implementation's translation limits (R2024a 以降) |
MISRA C:2023 Rule 1.2 | Language extensions should not be used (R2024a 以降) |
MISRA C:2023 Rule 1.3 | There shall be no occurrence of undefined or critical unspecified behaviour (R2024a 以降) |
MISRA C:2023 Rule 1.4 | Emergent language features shall not be used (R2024a 以降) |
MISRA C:2023 Rule 1.5 | Obsolescent language features shall not be used (R2024a 以降) |
MISRA C:2023 Rule 2.1 | A project shall not contain unreachable code (R2024a 以降) |
MISRA C:2023 Rule 2.2 | A project shall not contain dead code (R2024a 以降) |
MISRA C:2023 Rule 2.3 | A project should not contain unused type declarations (R2024a 以降) |
MISRA C:2023 Rule 2.4 | A project should not contain unused tag declarations (R2024a 以降) |
MISRA C:2023 Rule 2.5 | A project should not contain unused macro definitions (R2024a 以降) |
MISRA C:2023 Rule 2.6 | A function should not contain unused label declarations (R2024a 以降) |
MISRA C:2023 Rule 2.7 | A function should not contain unused parameters (R2024a 以降) |
MISRA C:2023 Rule 2.8 | A project should not contain unused object definitions (R2024b 以降) |
MISRA C:2023 Rule 3.1 | The character sequences /* and // shall not be used within a comment. (R2024a 以降) |
MISRA C:2023 Rule 3.2 | Line-splicing shall not be used in // comments. (R2024a 以降) |
MISRA C:2023 Rule 4.1 | Octal and hexadecimal escape sequences shall be terminated (R2024a 以降) |
MISRA C:2023 Rule 4.2 | Trigraphs should not be used (R2024a 以降) |
MISRA C:2023 Rule 5.1 | External identifiers shall be distinct (R2024a 以降) |
MISRA C:2023 Rule 5.2 | Identifiers declared in the same scope and name space shall be distinct (R2024a 以降) |
MISRA C:2023 Rule 5.3 | An identifier declared in an inner scope shall not hide an identifier declared in an outer scope (R2024a 以降) |
MISRA C:2023 Rule 5.4 | Macro identifiers shall be distinct (R2024a 以降) |
MISRA C:2023 Rule 5.5 | Identifiers shall be distinct from macro names (R2024a 以降) |
MISRA C:2023 Rule 5.6 | A typedef name shall be a unique identifier (R2024a 以降) |
MISRA C:2023 Rule 5.7 | A tag name shall be a unique identifier (R2024a 以降) |
MISRA C:2023 Rule 5.8 | Identifiers that define objects or functions with external linkage shall be unique (R2024a 以降) |
MISRA C:2023 Rule 5.9 | Identifiers that define objects or functions with internal linkage should be unique (R2024a 以降) |
MISRA C:2023 Rule 6.1 | Bit-fields shall only be declared with an appropriate type (R2024a 以降) |
MISRA C:2023 Rule 6.2 | Single-bit named bit-fields shall not be of a signed type (R2024a 以降) |
MISRA C:2023 Rule 6.3 | A bit field shall not be declared as a member of a union (R2024a 以降) |
MISRA C:2023 Rule 7.1 | Octal constants shall not be used (R2024a 以降) |
MISRA C:2023 Rule 7.2 | A “u” or “U” suffix shall be applied to all integer constants that are represented in an unsigned type (R2024a 以降) |
MISRA C:2023 Rule 7.3 | The lowercase character “l” shall not be used in a literal suffix (R2024a 以降) |
MISRA C:2023 Rule 7.4 | A string literal shall not be assigned to an object unless the object’s type is “pointer to const-qualified char” (R2024a 以降) |
MISRA C:2023 Rule 7.5 | The argument of an integer constant macro shall have an appropriate form (R2024a 以降) |
MISRA C:2023 Rule 7.6 | The small integer variants of the minimum-width integer constant macros shall not be used (R2025a 以降) |
MISRA C:2023 Rule 8.1 | Types shall be explicitly specified (R2024a 以降) |
MISRA C:2023 Rule 8.2 | Function types shall be in prototype form with named parameters (R2024a 以降) |
MISRA C:2023 Rule 8.3 | All declarations of an object or function shall use the same names and type qualifiers (R2024a 以降) |
MISRA C:2023 Rule 8.4 | A compatible declaration shall be visible when an object or function with external linkage is defined (R2024a 以降) |
MISRA C:2023 Rule 8.5 | An external object or function shall be declared once in one and only one file (R2024a 以降) |
MISRA C:2023 Rule 8.6 | An identifier with external linkage shall have exactly one external definition (R2024a 以降) |
MISRA C:2023 Rule 8.7 | Functions and objects should not be defined with external linkage if they are referenced in only one translation unit (R2024a 以降) |
MISRA C:2023 Rule 8.8 | The static storage class specifier shall be used in all declarations of objects and functions that have internal linkage (R2024a 以降) |
MISRA C:2023 Rule 8.9 | An object should be declared at block scope if its identifier only appears in a single function (R2024a 以降) |
MISRA C:2023 Rule 8.10 | An inline function shall be declared with the static storage class (R2024a 以降) |
MISRA C:2023 Rule 8.11 | When an array with external linkage is declared, its size should be explicitly specified (R2024a 以降) |
MISRA C:2023 Rule 8.12 | Within an enumerator list, the value of an implicitly-specified enumeration constant shall be unique (R2024a 以降) |
MISRA C:2023 Rule 8.13 | A pointer should point to a const-qualified type whenever possible (R2024a 以降) |
MISRA C:2023 Rule 8.14 | The restrict type qualifier shall not be used (R2024a 以降) |
MISRA C:2023 Rule 8.15 | The argument of an integer constant macro shall have an appropriate form (R2024a 以降) |
MISRA C:2023 Rule 8.16 | The alignment specification of zero should not appear in an object declaration (R2024a 以降) |
MISRA C:2023 Rule 8.17 | At most one explicit alignment specifier should appear in an object declaration (R2024a 以降) |
MISRA C:2023 Rule 9.1 | The value of an object with automatic storage duration shall not be read before it has been set (R2024a 以降) |
MISRA C:2023 Rule 9.2 | The initializer for an aggregate or union shall be enclosed in braces (R2024a 以降) |
MISRA C:2023 Rule 9.3 | Arrays shall not be partially initialized (R2024a 以降) |
MISRA C:2023 Rule 9.4 | An element of an object shall not be initialized more than once (R2024a 以降) |
MISRA C:2023 Rule 9.5 | Where designated initializers are used to initialize an array object the size of the array shall be specified explicitly (R2024a 以降) |
MISRA C:2023 Rule 9.6 | An initializer using chained designators shall not contain initializers without designators (R2025a 以降) |
MISRA C:2023 Rule 10.1 | Operands shall not be of an inappropriate essential type (R2024a 以降) |
MISRA C:2023 Rule 10.2 | Expressions of essentially character type shall not be used inappropriately in addition and subtraction operations (R2024a 以降) |
MISRA C:2023 Rule 10.3 | The value of an expression shall not be assigned to an object with a narrower essential type or of a different essential type category (R2024a 以降) |
MISRA C:2023 Rule 10.4 | Both operands of an operator in which the usual arithmetic conversions are performed shall have the same essential type category (R2024a 以降) |
MISRA C:2023 Rule 10.5 | The value of an expression should not be cast to an inappropriate essential type (R2024a 以降) |
MISRA C:2023 Rule 10.6 | The value of a composite expression shall not be assigned to an object with wider essential type (R2024a 以降) |
MISRA C:2023 Rule 10.7 | If a composite expression is used as one operand of an operator in which the usual arithmetic conversions are performed then the other operand shall not have wider essential type (R2024a 以降) |
MISRA C:2023 Rule 10.8 | The value of a composite expression shall not be cast to a different essential type category or a wider essential type (R2024a 以降) |
MISRA C:2023 Rule 11.1 | Conversions shall not be performed between a pointer to a function and any other type (R2024a 以降) |
MISRA C:2023 Rule 11.2 | Conversions shall not be performed between a pointer to an incomplete type and any other type (R2024a 以降) |
MISRA C:2023 Rule 11.3 | A conversion shall not be performed between a pointer to object type and a pointer to a different object type (R2024a 以降) |
MISRA C:2023 Rule 11.4 | A conversion should not be performed between a pointer to object and an integer type (R2024a 以降) |
MISRA C:2023 Rule 11.5 | A conversion should not be performed from pointer to void into pointer to object (R2024a 以降) |
MISRA C:2023 Rule 11.6 | A cast shall not be performed between pointer to void and an arithmetic type (R2024a 以降) |
MISRA C:2023 Rule 11.7 | A cast shall not be performed between pointer to object and a non-integer arithmetic type (R2024a 以降) |
MISRA C:2023 Rule 11.8 | A conversion shall not remove any const , volatile , or _Atomic qualification from the type pointed to by a pointer (R2024a 以降) |
MISRA C:2023 Rule 11.9 | The macro NULL shall be the only permitted form of integer null pointer constant (R2024a 以降) |
MISRA C:2023 Rule 11.10 | The _Atomic qualifier shall not be applied to the incomplete type void (R2024b 以降) |
MISRA C:2023 Rule 12.1 | The precedence of operators within expressions should be made explicit (R2024a 以降) |
MISRA C:2023 Rule 12.2 | The right hand operand of a shift operator shall lie in the range zero to one less than the width in bits of the essential type of the left hand operand (R2024a 以降) |
MISRA C:2023 Rule 12.3 | The comma operator should not be used (R2024a 以降) |
MISRA C:2023 Rule 12.4 | Evaluation of constant expressions should not lead to unsigned integer wrap-around (R2024a 以降) |
MISRA C:2023 Rule 12.5 | The sizeof operator shall not have an operand which is a function parameter declared as “array of type” (R2024a 以降) |
MISRA C:2023 Rule 12.6 | Structure and union members of atomic objects shall not be directly accessed (R2025a 以降) |
MISRA C:2023 Rule 13.1 | Initializer lists shall not contain persistent side effects (R2024a 以降) |
MISRA C:2023 Rule 13.2 | The value of an expression and its persistent side effects shall be the same under all permitted evaluation orders and shall be independent from thread interleaving (R2024a 以降) |
MISRA C:2023 Rule 13.3 | A full expression containing an increment (++) or decrement (--) operator should have no other potential side effects other than that caused by the increment or decrement operator (R2024a 以降) |
MISRA C:2023 Rule 13.4 | The result of an assignment operator should not be used (R2024a 以降) |
MISRA C:2023 Rule 13.5 | The right hand operand of a logical && or || operator shall not contain persistent side effects (R2024a 以降) |
MISRA C:2023 Rule 13.6 | The operand of the sizeof operator shall not contain any expression which has potential side effects (R2024a 以降) |
MISRA C:2023 Rule 14.1 | A loop counter shall not have essentially floating type (R2024a 以降) |
MISRA C:2023 Rule 14.2 | A for loop shall be well-formed (R2024a 以降) |
MISRA C:2023 Rule 14.3 | Controlling expressions shall not be invariant (R2024a 以降) |
MISRA C:2023 Rule 14.4 | The controlling expression of an if statement and the controlling expression of an iteration-statement shall have essentially Boolean type (R2024a 以降) |
MISRA C:2023 Rule 15.1 | The goto statement should not be used (R2024a 以降) |
MISRA C:2023 Rule 15.2 | The goto statement shall jump to a label declared later in the same function (R2024a 以降) |
MISRA C:2023 Rule 15.3 | Any label referenced by a goto statement shall be declared in the same block, or in any block enclosing the goto statement (R2024a 以降) |
MISRA C:2023 Rule 15.4 | There should be no more than one break or goto statement used to terminate any iteration statement (R2024a 以降) |
MISRA C:2023 Rule 15.5 | A function should have a single point of exit at the end (R2024a 以降) |
MISRA C:2023 Rule 15.6 | The body of an iteration-statement or a selection-statement shall be a compound statement (R2024a 以降) |
MISRA C:2023 Rule 15.7 | All if … else if constructs shall be terminated with an else statement (R2024a 以降) |
MISRA C:2023 Rule 16.1 | All switch statements shall be well-formed (R2024a 以降) |
MISRA C:2023 Rule 16.2 | A switch label shall only be used when the most closely-enclosing compound statement is the body of a switch statement (R2024a 以降) |
MISRA C:2023 Rule 16.3 | An unconditional break statement shall terminate every switch-clause (R2024a 以降) |
MISRA C:2023 Rule 16.4 | Every switch statement shall have a default label (R2024a 以降) |
MISRA C:2023 Rule 16.5 | A default label shall appear as either the first or the last switch label of a switch statement (R2024a 以降) |
MISRA C:2023 Rule 16.6 | Every switch statement shall have at least two switch-clauses (R2024a 以降) |
MISRA C:2023 Rule 16.7 | A switch-expression shall not have essentially Boolean type (R2024a 以降) |
MISRA C:2023 Rule 17.1 | The standard header file <stdarg.h> shall not be used (R2024a 以降) |
MISRA C:2023 Rule 17.2 | Functions shall not call themselves, either directly or indirectly (R2024a 以降) |
MISRA C:2023 Rule 17.3 | A function shall not be declared implicitly (R2024a 以降) |
MISRA C:2023 Rule 17.4 | All exit paths from a function with non-void return type shall have an explicit return statement with an expression (R2024a 以降) |
MISRA C:2023 Rule 17.5 | The function argument corresponding to a parameter declared to have an array type shall have an appropriate number of elements (R2024a 以降) |
MISRA C:2023 Rule 17.6 | The declaration of an array parameter shall not contain the static keyword between the [ ] (R2024a 以降) |
MISRA C:2023 Rule 17.7 | The value returned by a function having non-void return type shall be used (R2024a 以降) |
MISRA C:2023 Rule 17.8 | A function parameter should not be modified (R2024a 以降) |
MISRA C:2023 Rule 17.9 | A function declared with a _Noreturn function specifier shall
not return to its caller (R2024a 以降) |
MISRA C:2023 Rule 17.10 | A function declared with a _Noreturn function specifier shall
have void return type (R2024a 以降) |
MISRA C:2023 Rule 17.11 | A function that never returns should be declared with a
_Noreturn function specifier (R2024a 以降) |
MISRA C:2023 Rule 17.12 | A function identifier should only be used with either a preceding & , or with a parenthesized parameter list (R2024a 以降) |
MISRA C:2023 Rule 17.13 | A function type shall not be type qualified (R2024a 以降) |
MISRA C:2023 Rule 18.1 | A pointer resulting from arithmetic on a pointer operand shall address an element of the same array as that pointer operand (R2024a 以降) |
MISRA C:2023 Rule 18.2 | Subtraction between pointers shall only be applied to pointers that address elements of the same array (R2024a 以降) |
MISRA C:2023 Rule 18.3 | The relational operators >, >=, < and <= shall not be applied to expressions of pointer type except where they point into the same object (R2024a 以降) |
MISRA C:2023 Rule 18.4 | The +, -, += and -= operators should not be applied to an expression of pointer type (R2024a 以降) |
MISRA C:2023 Rule 18.5 | Declarations should contain no more than two levels of pointer nesting (R2024a 以降) |
MISRA C:2023 Rule 18.6 | The address of an object with automatic or thread-local storage shall not be copied to another object that persists after the first object has ceased to exist (R2024a 以降) |
MISRA C:2023 Rule 18.7 | Flexible array members shall not be declared (R2024a 以降) |
MISRA C:2023 Rule 18.8 | Variable-length arrays shall not be used (R2024a 以降) |
MISRA C:2023 Rule 18.9 | An object with temporary lifetime shall not undergo array-to-pointer conversion (R2024a 以降) |
MISRA C:2023 Rule 18.10 | Pointers to variably-modified array types shall not be used (R2025a 以降) |
MISRA C:2023 Rule 19.1 | An object shall not be assigned or copied to an overlapping object (R2024a 以降) |
MISRA C:2023 Rule 19.2 | The union keyword should not be used (R2024a 以降) |
MISRA C:2023 Rule 20.1 | #include directives should only be preceded by preprocessor directives or comments (R2024a 以降) |
MISRA C:2023 Rule 20.2 | The ', " or \ characters and the /* or // character sequences shall not occur in a header file name (R2024a 以降) |
MISRA C:2023 Rule 20.3 | The #include directive shall be followed by either a <filename> or "filename" sequence (R2024a 以降) |
MISRA C:2023 Rule 20.4 | A macro shall not be defined with the same name as a keyword (R2024a 以降) |
MISRA C:2023 Rule 20.5 | #undef should not be used (R2024a 以降) |
MISRA C:2023 Rule 20.6 | Tokens that look like a preprocessing directive shall not occur within a macro argument (R2024a 以降) |
MISRA C:2023 Rule 20.7 | Expressions resulting from the expansion of macro parameters shall be enclosed in parentheses (R2024a 以降) |
MISRA C:2023 Rule 20.8 | The controlling expression of a #if or #elif preprocessing directive shall evaluate to 0 or 1 (R2024a 以降) |
MISRA C:2023 Rule 20.9 | All identifiers used in the controlling expression of #if or #elif preprocessing directives shall be #define'd before evaluation (R2024a 以降) |
MISRA C:2023 Rule 20.10 | The # and ## preprocessor operators should not be used (R2024a 以降) |
MISRA C:2023 Rule 20.11 | A macro parameter immediately following a # operator shall not immediately be followed by a ## operator (R2024a 以降) |
MISRA C:2023 Rule 20.12 | A macro parameter used as an operand to the # or ## operators, which is itself subject to further macro replacement, shall only be used as an operand to these operators (R2024a 以降) |
MISRA C:2023 Rule 20.13 | A line whose first token is # shall be a valid preprocessing directive (R2024a 以降) |
MISRA C:2023 Rule 20.14 | All #else, #elif and #endif preprocessor directives shall reside in the same file as the #if, #ifdef or #ifndef directive to which they are related (R2024a 以降) |
MISRA C:2023 Rule 21.1 | #define and #undef shall not be used on a reserved identifier or reserved macro name (R2024a 以降) |
MISRA C:2023 Rule 21.2 | A reserved identifier or reserved macro name shall not be declared (R2024a 以降) |
MISRA C:2023 Rule 21.3 | The memory allocation and deallocation functions of <stdlib.h> shall not be used (R2024a 以降) |
MISRA C:2023 Rule 21.4 | The standard header file <setjmp.h> shall not be used (R2024a 以降) |
MISRA C:2023 Rule 21.5 | The standard header file <signal.h> shall not be used (R2024a 以降) |
MISRA C:2023 Rule 21.6 | The Standard Library input/output functions shall not be used (R2024a 以降) |
MISRA C:2023 Rule 21.7 | The Standard Library functions atof , atoi , atol , and atoll functions of <stdlib.h> shall not be used (R2024a 以降) |
MISRA C:2023 Rule 21.8 | The Standard Library termination functions of <stdlib.h> shall not be used (R2024a 以降) |
MISRA C:2023 Rule 21.9 | The Standard Library library functions bsearch and qsort of <stdlib.h> shall not be used (R2024a 以降) |
MISRA C:2023 Rule 21.10 | The Standard Library time and date functions shall not be used (R2024a 以降) |
MISRA C:2023 Rule 21.11 | The standard header file <tgmath.h> should not be used (R2024a 以降) |
MISRA C:2023 Rule 21.12 | The standard header file <fenv.h> shall not be used (R2024a 以降) |
MISRA C:2023 Rule 21.13 | Any value passed to a function in <ctype.h> shall be representable as an unsigned char or be the value EOF (R2024a 以降) |
MISRA C:2023 Rule 21.14 | The Standard Library function memcmp shall not be used to compare null terminated strings (R2024a 以降) |
MISRA C:2023 Rule 21.15 | The pointer arguments to the Standard Library functions memcpy , memmove and memcmp shall be pointers to qualified or unqualified versions of compatible types (R2024a 以降) |
MISRA C:2023 Rule 21.16 | The pointer arguments to the Standard Library function memcmp shall point to either a pointer type, an essentially signed type, an essentially unsigned type, an essentially Boolean type or an essentially enum type (R2024a 以降) |
MISRA C:2023 Rule 21.17 | Use of the string handling function from <string.h> shall not result in accesses beyond the bounds of the objects referenced by their pointer parameters (R2024a 以降) |
MISRA C:2023 Rule 21.18 | The size_t argument passed to any function in <string.h> shall have an appropriate value (R2024a 以降) |
MISRA C:2023 Rule 21.19 | The pointers returned by the Standard Library functions localeconv , getenv , setlocale or strerror shall only be used as if they have pointer to const -qualified type (R2024a 以降) |
MISRA C:2023 Rule 21.20 | The pointer returned by the Standard Library functions asctime , ctime , gmtime , localtime , localeconv , getenv , setlocale or strerror shall not be used following a subsequent call to the same function (R2024a 以降) |
MISRA C:2023 Rule 21.21 | The Standard Library function system of <stdlib.h> shall not be used (R2024a 以降) |
MISRA C:2023 Rule 21.22 | All operand arguments to any type-generic macros declared in <tgmath.h> shall have an appropriate essential type (R2024a 以降) |
MISRA C:2023 Rule 21.23 | All operand arguments to any multi-argument type-generic macros declared in <tgmath.h> shall have the same standard type (R2024a 以降) |
MISRA C:2023 Rule 21.24 | The random number generator functions of <stdlib.h> shall not be used (R2024a 以降) |
MISRA C:2023 Rule 21.25 | All memory synchronization operations shall be executed in sequentially consistent order (R2025a 以降) |
MISRA C:2023 Rule 22.1 | All resources obtained dynamically by means of Standard Library functions shall be explicitly released (R2024a 以降) |
MISRA C:2023 Rule 22.2 | A block of memory shall only be freed if it was allocated by means of a Standard Library function (R2024a 以降) |
MISRA C:2023 Rule 22.3 | The same file shall not be open for read and write access at the same time on different streams (R2024a 以降) |
MISRA C:2023 Rule 22.4 | There shall be no attempt to write to a stream which has been opened as read-only (R2024a 以降) |
MISRA C:2023 Rule 22.5 | A pointer to a FILE object shall not be dereferenced (R2024a 以降) |
MISRA C:2023 Rule 22.6 | The value of a pointer to a FILE shall not be used after the associated stream has been closed (R2024a 以降) |
MISRA C:2023 Rule 22.7 | The macro EOF shall only be compared with the unmodified return value from any Standard Library function capable of returning EOF (R2024a 以降) |
MISRA C:2023 Rule 22.8 | The value of errno shall be set to zero prior to a call to an errno -setting-function (R2024a 以降) |
MISRA C:2023 Rule 22.9 | The value of errno shall be tested against zero after calling an errno -setting function (R2024a 以降) |
MISRA C:2023 Rule 22.10 | The value of errno shall only be tested when the last function to be called was an errno -setting function (R2024a 以降) |
MISRA C:2023 Rule 22.11 | A thread that was previously either joined or detached shall not be subsequently joined nor detached (R2024b 以降) |
MISRA C:2023 Rule 22.13 | Thread objects, thread synchronization objects and thread-specific storage pointers shall have appropriate storage duration (R2025a 以降) |
MISRA C:2023 Rule 22.15 | Thread synchronization objects and thread-specific storage pointers shall not be destroyed until after all threads accessing them have terminated (R2024b 以降) |
MISRA C:2023 Rule 22.16 | All mutex objects locked by a thread shall be explicitly unlocked by the same thread (R2024b 以降) |
MISRA C:2023 Rule 22.17 | No thread shall unlock a mutex or call cnd_wait() or
cnd_timedwait() for a mutex it has not locked before (R2024b 以降) |
MISRA C:2023 Rule 22.18 | Non-recursive mutexes shall not be recursively locked (R2025a 以降) |
MISRA C:2023 Rule 23.1 | A generic selection should only be expanded from a macro (R2024a 以降) |
MISRA C:2023 Rule 23.2 | A generic selection that is not expanded from a macro shall not contain potential side effects in the controlling expression (R2024a 以降) |
MISRA C:2023 Rule 23.3 | A generic selection should contain at least one non-default association (R2024a 以降) |
MISRA C:2023 Rule 23.4 | A generic association shall list an appropriate type (R2024a 以降) |
MISRA C:2023 Rule 23.5 | A generic selection should not depend on implicit pointer type conversion (R2024a 以降) |
MISRA C:2023 Rule 23.6 | The controlling expression of a generic selection shall have an essential type that matches its standard type (R2024a 以降) |
MISRA C:2023 Rule 23.7 | A generic selection that is expanded from a macro should evaluate its argument only once (R2024a 以降) |
MISRA C:2023 Rule 23.8 | A default association shall appear as either the first or the last association of a generic selection (R2024a 以降) |
トピック
MISRA C:2023 に対する Polyspace のサポート
- Polyspace でのコーディング規約のサポート
Polyspace でのさまざまなコーディング規約のサポートをチェックする。 - コーディング規約違反のチェックおよびレビュー
Polyspace Bug Finder で AUTOSAR C++14、CERT® C、CERT C++、CWE、MISRA C、MISRA C++、JSF AV C++、または ISO-17961 規格の違反をチェックする。 - 以前の標準から新しい標準への正当化のインポート
以前のコーディング規約から移行する際に既存のレビュー情報をインポートする。 - Polyspace Bug Finder でサポートされている MISRA の必要コーディング ルールまたは必須コーディング ルール
Polyspace でサポートされている各種 MISRA コーディング規約の必要ルールを確認する。 - Polyspace Bug Finder でサポートされている MISRA の決定可能なコーディング ルール
Polyspace でサポートされている各種 MISRA コーディング規約の決定可能なルールを確認する。
MISRA C:2023 サブセット
- 解析の早い段階でチェックされるコーディング ルールのサブセット
解析速度を上げるためにコーディング ルール チェックを調整する。 - MISRA コーディング規約のソフトウェア品質目標サブセット
設計上の問題の解決に役立つ MISRA C ルールと C++ ルール。
特定の MISRA C:2023 ルール
- MISRA C Rule 8.x に対する違反の回避
競合する宣言や変数の意図しない変更を回避する。 - MISRA C Rule 10.x の実質的な型
MISRA C Rule 10.x で実質的に同様の型として扱われる同様のデータ型。
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)