3

MISRA 2004ルール 5.1 では、すべての識別子は最初の 31 文字が一意でなければならないと規定されています。このルールの理由は何ですか?一部のコンパイラの技術的な制限ですか?

4

2 に答える 2

2

MISRA-C:2004 は C90 標準に準拠しており、識別子の最初の 6 文字のみを別個のものとして扱う必要があります。MISRAドキュメントでその根拠を読むことができます。

MISRA-C:2004 ルール 14:

ISO 標準では、外部識別子は最初の 6 文字で区別する必要があります。ただし、ほとんどのコンパイラ/リンカーは少なくとも 31 文字の意味 (内部識別子に関して) を許可しているため、この厳しく役に立たない制限への準拠は不要な制限と見なされます。

参照される ISO 規格は、ISO 9899:1990 (C90) です。この規則の目的は、十分な意味のある文字を備えた健全で安全なコンパイラを使用していることを確認することです。

于 2013-11-12T07:46:16.437 に答える