ssSetUserData

Задайте пользовательские данные

Синтаксис

void ssSetUserData(SimStruct *S, void *data)

Аргументы

S

SimStruct, представляющий Блок s-function.

data

UserData .

Описание

Хранит указатель на ячейку памяти, содержащую пользовательские данные S-функции. Чтобы избежать утечек памяти, S-функция должна освободить эту ячейку памяти во время вызова mdlTerminate.

S-функция, содержащая пользовательские данные, должна выполнить следующие шаги.

  1. Выделите память для пользовательских данных, с помощью индивидуально настраиваемой структуры, чтобы хранить более сложные данные.

  2. Установите опцию SS_OPTION_CALL_TERMINATE_ON_EXIT в mdlInitializeSizes, чтобы гарантировать, что механизм Simulink® всегда вызывает функцию mdlTerminate.

  3. Сохраните указатель на ячейку памяти в пользовательских данных, с помощью вызова ssSetUserData.

  4. В mdlTerminate используйте ssGetUserData, чтобы получить указатель на ячейку памяти и освободить память.

Смотрите Параметры периода выполнения Создания от Нескольких S-параметров-функции для примера, который использует пользовательские данные в сочетании с параметрами периода выполнения.

Примечание

Вы не можете данные пользователя доступа из файла Компилятора выходного языка (TLC). Используйте векторы DWork вместо пользовательских данных, если необходимо записать TLC-файл, чтобы встроить S-функцию во время генерации кода с Simulink Coder™. Для примера с помощью векторов DWork смотрите sfcndemo_sfun_rtwdwork.

Языки

C, C++

Пример

Смотрите S-функцию sfun_runtime4.c, используемый в sfcndemo_runtime.

Смотрите также

ssGetUserData

Представлено до R2006a