AUTOSAR C++ 14 Rule A16-7-1

Директива # pragma не должна использоваться

Описание

Определение правила

Директива # pragma не должна использоваться.

Объяснение

Использование #pragma директива в коде приводит к определенному реализацией поведению. Директива также может не поддерживаться определенными компиляторами.

Поиск и устранение проблем

Если вы ожидаете нарушения правил, но не видите его, обратитесь к разделу «Стандартные нарушения кодирования не отображаются».

Примеры

расширить все

//header.h
#pragma once //Noncompliant

#ifndef HEADER_H_ //Compliant
#define HEADER_H_
// ...
// body of header file
//..
#endif

The #pragma once директива препятствует включению header.h более одного раза. Однако, если вы копируете header.h в нескольких модулях проекта директива может обрабатывать копии как один и тот же файл в зависимости от реализации. Чтобы избежать двойных определений, используйте #ifndef вместо этого включите охрану.

Проверяйте информацию

Группа: 16 Директивы предварительной обработки
Категория: Необходимый, Автоматизированный
Введенный в R2019b