-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 принимает, что возвраты значения упрямых функций полны области значений. Эти допущения могут повлиять на проверки в других разделах кода. См. Допущения об упрямых функциях.
Если вы заглушили функцию, можно ограничить область значений аргументов функции и возвращаемое значение. Чтобы задать ограничения, используйте опцию анализа Constraint setup (-data-range-specifications)
.
Для функций C разрешены эти специальные символы: ( ) < > ; _
Для функций C++ допускаются следующие специальные символы: ( ) < > ; _ * & [ ]
Пробельные символы разрешены для C++, но не разрешены для функций C.
Параметр: -functions-to-stub |
По умолчанию нет |
Значение:
|
Пример (Code Prover): Polyspace Code Prover -sources |
Пример (Код Prover Server):
Полипространство -code-prover-server -sources file_name |