>
>
>
V2526. MISRA. The functions from time.h…


V2526. MISRA. The functions from time.h/ctime should not be used.

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

Анализатор выдаст предупреждение, если обнаружит использование следующих функций: 'clock'; 'time'; 'difftime'; 'ctime'; 'asctime'; 'gmtime'; 'localtime'; 'mktime'.

Перечисленные функции имеют неуточненное поведение или поведение, определенное реализацией, и поэтому могут выдаваться разные форматы времени и даты (в зависимости от окружения, реализации стандартной библиотеки, и т. д.).

Пример кода, на который анализатор выдаст предупреждения:

const char* Foo(time_t *p)
{
    time_t t = time(p);
    return ctime(t);
}

Для языка С анализатор также выдаст предупреждение, если обнаружит объявление макроса с одним из соответствующих имён.

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

  • MISRA-C-21.10
  • MISRA-CPP-18.0.4