>
>
>
V2610. MISRA. The ', " or \ charac…


V2610. MISRA. The ', " or \ characters and the /* or // character sequences should not occur in a header file name.

Данное диагностическое правило основано на руководстве MISRA (Motor Industry Software Reliability Association) по разработке программного обеспечения.

Это правило актуально только для С. Использование некоторых символов в именах заголовочных файлов может привести к неопределённому поведению.

Правило запрещает использование следующих наборов символов:

  • ', ", \, /*, // - в имени включаемого файла, указанном между символами '<' и '>';
  • ', \, /*, // - в имени включаемого файла, указанном между символами двойных кавычек.

Пример:

#include <bad"include.h>
#include "bad'include.h"

Чаще всего диагностика выявляет наличие в пути обратной косой черты (backslash). С точки зрения MISRA, такой код является некорректным:

#include "myLibrary\header.h"

Однако допустимо использовать прямую косую черту (forward slash):

#include "myLibrary/header.h"

Данная диагностика классифицируется как:

  • MISRA-C-20.2