Данное диагностическое правило основано на руководстве 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);
}
Для языка С анализатор также выдаст предупреждение, если обнаружит объявление макроса с одним из соответствующих имён.
Данная диагностика классифицируется как:
|