-U)Отменить определение макросов в предварительно обработанном коде
Отменить определение макросов в предварительно обработанном коде.
Пользовательский интерфейс (только для настольных ПК): в конфигурации проекта параметр находится на узле Макросы.
файл командной строки и параметров: Использовать параметр -U. См. раздел Сведения о командной строке.
Используйте этот параметр для эмуляции поведения компилятора. Например, если компилятор рассматривает макрос _WIN32 как undefined при построении кода, он выполняет код в #ifndef _WIN32 заявление. Если Polyspace ® считает этот макрос определенным, необходимо явно отменить определение макроса .
Некоторые настройки для Compiler (-compiler) включить некоторые макросы по умолчанию. Этот параметр позволяет отменить определение макросов.
Как правило, из ошибок компиляции можно распознать, что определенный макрос должен быть неопределенным. Например, следующий код не компилируется, если макрос _WIN32 определяется.
#ifndef _WIN32
int env_var;
#endif
void set() {
env_var=1;
}env_var не определен. Однако определение env_var находится в #ifndef _WIN32 заявление. Основной причиной ошибки является то, что макрос _WIN32 определяется. Необходимо отменить определение _WIN32.По умолчанию нет
С помощью
кнопки добавьте новую строку для каждого макроса, который не определен.
Спецификация компилятора определяет значения многих специфичных для компилятора макросов. Если требуется узнать, как Polyspace определяет определенный макрос, используйте опцию -dump-preprocessing-info.
Чтобы переопределить определение макроса из спецификации компилятора, используйте параметр Preprocessor definitions (-D).
Чтобы отменить определение макроса, используйте этот параметр.
Можно указать только один флаг с каждым -U вариант. Однако можно указать опцию несколько раз.
Параметр: -U |
| По умолчанию нет |
Значение: macro |
Пример (поиск ошибок):
polyspace-bug-finder -U HAVE_MYLIB -U USE_COM1 |
Пример (проверка кода): polyspace-code-prover -U HAVE_MYLIB -U USE_COM1 |
Пример (сервер поиска ошибок): polyspace-bug-finder-server -U HAVE_MYLIB -U USE_COM1 |
Пример (сервер проверки кода):
polyspace-code-prover-server -U HAVE_MYLIB -U USE_COM1 |