exponenta event banner

ssSetUserData

Укажите данные пользователя

Синтаксис

void ssSetUserData(SimStruct *S, void *data)

Аргументы

S

SimStruct представляет S-функциональный блок.

data

Данные пользователя.

Описание

Сохраняет указатель на ячейку памяти, содержащую данные пользователя 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