-functions-to-stub)Укажите функции для заглушки во время анализа
Укажите функции для заглушки во время анализа.
Для указанных функций Polyspace ®:
Игнорирует определение функции, даже если оно существует.
Предполагает, что входы и выходы функции имеют полный диапазон значений, допустимых их типом.
Пользовательский интерфейс (только для настольных ПК): в конфигурации проекта параметр находится в узле Inputs & Stubbing.
файл командной строки и параметров: Использовать параметр -functions-to-stub. См. раздел Сведения о командной строке.
Если требуется, чтобы анализ игнорировал код в теле функции, можно заглушить функцию.
Например:
Предположим, что запись функции не завершена и анализ не должен учитывать тело функции. Эту опцию можно использовать, чтобы заглушить функцию, а затем указать ограничения на ее возвращаемое значение и изменяемые аргументы.
Предположим, что анализ тела функции неточен. Анализ предполагает, что функция возвращает все возможные значения, разрешенные возвращаемым типом функции. Эту опцию можно использовать для заглушки функции, а затем указать ограничения на ее возвращаемое значение.
По умолчанию нет
Введите имена функций или выберите их из списка.
Щелкните
для добавления поля и введите имя функции.
Щелкните
, чтобы перечислить функции в коде. Выберите функции из списка.
При вводе имен функций используйте либо базовый синтаксис, либо, для дифференциации перегруженных функций, синтаксис аргумента. Для синтаксиса аргумента разделите аргументы функции точкой с запятой. Примеры см. в следующем коде и таблице.
//simple function
void test(int a, int b);
//C++ template function
Template <class myType>
myType test(myType a, myType b);
//C++ class method
class A {
public:
int test(int var1, int var2);
};
//C++ template class method
template <class myType> class A
{
public:
myType test(myType var1, myType var2);
};| Тип функции | Основной синтаксис | Синтаксис аргумента |
|---|---|---|
| Простая функция | test | test(int; int) |
| Функция шаблона C++ | test | test(myType; myType) |
| Метод класса C++ | A::test | A::test(int;int) |
| Метод класса шаблона C++ | A<myType>::test | A<myType>::test(myType;myType) |
Программа Code Prover делает допущения относительно аргументов и возвращаемых значений упорных функций. Например, Polyspace предполагает, что возвращаемые значения упорных функций являются полным диапазоном. Эти допущения могут влиять на проверки в других разделах кода. См. Допущения о упорных функциях (средство проверки кода Polyspace).
Если функция заглушена, можно ограничить диапазон аргументов функции и возвращаемого значения. Чтобы задать ограничения, используйте опцию анализа Constraint setup (-data-range-specifications).
Для функций C допускаются следующие специальные символы:( ) < > ; _
Для функций C++ допускаются следующие специальные символы: ( ) < > ; _ * & [ ]
Символы пробела разрешены для C++, но не разрешены для C-функций.
Параметр: -functions-to-stub |
| По умолчанию нет |
Значение: |
Пример (проверка кода): polyspace-code-prover -sources |
Пример (сервер проверки кода):
polyspace-code-prover-server -sources |