Вебинар: Стратегия без иллюзий: как превращать цели в результаты - 19.08
Диагностическое правило основано на руководстве MISRA (Motor Industry Software Reliability Association) по разработке программного обеспечения.
Анализатор обнаружил потенциально возможную ошибку в записи макроса. Макрос и его параметры следует заключать в скобки.
В случае, когда параметры или само выражение не заключены в скобки, может быть нарушена задуманная последовательность действий после того, как макрос будет подставлен.
Пример кода, на который анализатор выдаст предупреждение:
#define DIV(x, y) (x / y)
Пример использования макроса, приводящего к ошибке:
Z = DIV(x + 1, y + 2);
В результате получим:
Z =(x + 1 / y + 2);
Чтобы избежать нарушения последовательности действий, этот макрос стоит переписать следующим образом:
#define DIV(x,y) ((x) / (y))
Диагностическое правило классифицируется как:
|
Была ли полезна эта страница документации?
Мы ответим вам на:
Если вы так и не получили ответ, пожалуйста, проверьте, отфильтровано ли письмо в одну из следующих стандартных папок: