Прежде чем Polyspace ® проанализирует код на наличие ошибок и ошибок во время выполнения, он компилирует код. Даже если код компилируется с помощью компилятора, можно увидеть ошибки компиляции с помощью Polyspace. Если ошибка исходит от стандартной библиотечной функции, это обычно указывает, что Polyspace не использует заголовки компилятора. Чтобы обойти ошибки, укажите путь к заголовкам компилятора.
В этом разделе показано, как найти заголовки стандартных библиотек из компилятора. Примеры кода вызывают ошибку компиляции, которая показывает расположение заголовков.
Чтобы найти папку, содержащую системные заголовки компилятора C, скомпилируйте этот код C с помощью цепочки инструментов компиляции:
float fopen(float f); #include <stdio.h>
Код не компилируется, так как fopen объявление вступает в конфликт с объявлением внутри stdio.h. Ошибка компиляции показывает расположение реализации компилятора stdio.h. Заголовки стандартных библиотек C, скорее всего, находятся в этой папке.
Чтобы найти папку, содержащую системные заголовки компилятора C++, скомпилируйте этот код C++ с помощью цепочки инструментов компиляции:
namespace std {
float cin;
}
#include <iostream>
cin объявление вступает в конфликт с объявлением внутри iostream.h. Ошибка компиляции показывает расположение реализации компилятора iostream.h. Возможно, все заголовки стандартных библиотек C++ находятся в этой папке.
После поиска пути к файлам заголовков компилятора укажите путь для анализа Polyspace. Для кода C++ укажите пути к заголовкам C и C++.
В интерфейсе пользователя (продукты Polyspace для настольных ПК) добавьте папку в проект.
Дополнительные сведения см. в разделе Добавление исходных файлов для анализа в интерфейсе пользователя Polyspace.
В командной строке используйте флаг -I с polyspace-bug-finder, polyspace-code-prover, polyspace-bug-finder-server(сервер поиска ошибок Polyspace) или polyspace-code-prover-server(Сервер проверки кода Polyspace)..
Дополнительные сведения см. в разделе -I.