ssSetSupportedForCodeReuseAcrossModels

Укажите, можно ли повторно использовать S-функцию между моделями

Синтаксис

void ssSetSupportedForCodeReuseAcrossModels(SimStruct *S, int_T val)

Аргументы

S

SimStruct, представляющий блок S-Function.

val

Либо an int_T (1 or 0) или boolean_T (true or false) значение.

Описание

Используйте эту функцию в mdlInitializeSizes метод, чтобы указать, можно ли повторно использовать S-функцию внутри переиспользуемой подсистемы библиотеки через иерархию модели-ссылки.

Вы должны задать SS_OPTION_WORKS_WITH_CODE_REUSE флаг в true в ssSetOptions функция.

Сконфигурируйте S-функцию для повторного использования кода между моделями, только если S-функция не обращается к каким-либо структурам данных, относящимся к модели. Сгенерированный код в _sharedutils папка компилируется отдельно, чем сгенерированный код в model_ert_rtw папка. Повторно используемый код подсистемы библиотеки, сгенерированный в _sharedutils папка не имеет доступа к типам и макросам, объявленным в model.h. Переиспользуемый код подсистемы библиотеки должен быть независимым.

Языки

C, C++

Пример

static void mdlInitializeSizes(SimStruct *S)
{
    ssSetOptions(S,
                 SS_OPTION_WORKS_WITH_CODE_REUSE |
                 SS_OPTION_EXCEPTION_FREE_CODE |
                 SS_OPTION_DISALLOW_CONSTANT_SAMPLE_TIME);
    ssSetSupportedForCodeReuseAcrossModels(S, 1);
}
Введенный в R2021a