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