Initialization functions (-functions-called-before-main)

Задайте функции, которые вы хотите сгенерировать main вызов перед другими функциями

Описание

Эта опция влияет только на анализ Code Prover.

Эта опция недоступна для кода, сгенерированного из MATLAB® код или Simulink® модели.

Задайте функции, которые вы хотите сгенерировать main вызов перед другими функциями.

Задать опцию

Пользовательский интерфейс (только для настольных продуктов): В строении проекта опция находится на узле Code Prover Verification. Смотрите Зависимости для других опций, которые вы также должны включить.

Командная строка и файл опций: Используйте опцию -functions-called-before-main. См. «Информация о командной строке».

Зачем использовать эту опцию

Если вы проверяете модуль или библиотеку, Code Prover генерирует main функция, если она не существует. Если a main существует, в анализе используются существующие main.

Используйте эту опцию вместе с опцией Functions to call (-main-generator-calls) чтобы указать, какие функции сгенерированы main должен вызвать. Если функция не вызывается прямо или косвенно из mainпрограммное обеспечение не анализирует функцию.

Настройки

По умолчанию нет

Введите имена функции или выберите из списка.

  • Щелкните, чтобы добавить поле и ввести имя функции.

  • Щелкните, чтобы отобразить функции в коде. Выберите функции из списка.

Если функция или метод не перегружены, задайте имя функции. В противном случае задайте прототип функции с аргументами. Например, в следующем коде необходимо задать прототипы func(int) и func(double).

int func(int x) { 
 return(x * 2);
}
double func(double x) { 
 return(x * 2);
}
Для C++, если функция:

  • Метод класса: Сгенерированный main вызывает конструктор классов перед вызовом этой функции.

  • Не метод класса: Сгенерированный main вызывает эту функцию перед вызовом методов класса.

Если вы используете оператор разрешения возможностей для задания функции из определенного пространства имен, введите полное имя, например myClass::init(int). Если функция не имеет параметра, используйте пустую круглую скобку, например myClass::init().

Зависимости

Эта опция включена, только если вы выбираете Verify module or library под Code Prover Verification и ваш код не содержит main функция.

Совет

Хотя эти функции вызываются раньше других функций, их можно вызвать в произвольном порядке. Если вы хотите вызвать функцию инициализации в определенном порядке, вручную напишите main функцию, чтобы вызвать их.

Информация о командной строке

Параметр: -functions-called-before-main
Значение: function1[, function2[,...]]
По умолчанию нет
Пример 1 (Code Prover): Polyspace Code Prover -sources file_name -main-generator -functions-called-before-main-myfunc
Пример 2 (Code Prover): Polyspace Code Prover -sources file_name -main-generator -functions-called-before-main myClass:: init (int)
Пример 1 (Код Prover Server): Полипространство -code-prover-server -sources file_name -main-generator -functions-called-before-main-myfunc
Пример 2 (Код Prover Server): Полипространство -code-prover-server -sources file_name -main-generator -functions-called-before-main myClass:: init (int)