exponenta event banner

Использование интерфейса пользовательских данных среды выполнения MATLAB

Интерфейс пользовательских данных среды выполнения MATLAB ® позволяет легко получить доступ к данным среды выполнения MATLAB. Он позволяет передавать ключи и значения между экземпляром среды выполнения MATLAB, кодом MATLAB, выполняемым в среде выполнения MATLAB, и приложением-хостом, создавшим экземпляр. С помощью вызовов API интерфейса пользовательских данных среды выполнения MATLAB доступ к данным среды выполнения MATLAB осуществляется путем создания ассоциативного массива для каждого экземпляра. mxArrays, состоящий из отображения из строковых ключей в mxArray значения. Причины для этого включают, но не ограничиваются следующими:

  • Необходимо предоставить информацию о профиле времени выполнения клиенту, выполняющему приложение, созданное с помощью Toolbox™ параллельных вычислений. Информация о профиле предоставляется и изменяется на основе выполнения. Например, два экземпляра одного и того же приложения могут выполняться одновременно с разными профилями. Дополнительные сведения см. в разделе Использование панели инструментов параллельных вычислений в развернутых приложениях.

  • Необходимо настроить глобальную рабочую область, глобальную переменную или переменные, к которым MATLAB и клиент могут получить доступ.

  • Необходимо сохранить состояние любой переменной или группы переменных.

API состоит из:

  • Две функции MATLAB, вызываемые из развернутого кода приложения MATLAB

  • Четыре внешние функции C, вызываемые из кода оболочки развернутого приложения

Функции MATLAB

Использование функций MATLAB getmcruserdata и setmcruserdata из развернутых приложений MATLAB. Они загружаются по умолчанию только в приложениях, созданных с помощью продуктов MATLAB Compiler™ или MATLAB Compiler SDK™.

Можно включить setmcruserdata и getmcruserdata в упакованном приложении с использованием mcc следующим образом:

mcc -g -W cpplib:<lib> -T link:lib ... setmcruserdata.m getmcruserdata.m

Вы также можете использовать %# функция в файле MATLAB для включения setmcruserdata и getmcruserdata. Это обеспечивает включение этих функций в пакетное приложение при использовании deploytool.

Совет

getmcruserdata и setmcruserdata производить Unknown function ошибка при вызове в MATLAB, если модуль MCLMCR не может быть найден. Вы можете избежать этой ситуации, позвонив isdeployed перед вызовом getmcruserdata и setmcruserdata. Для получения дополнительной информации о isdeployed , см. isdeployed справочная страница.

Установка и извлечение данных среды выполнения MATLAB для общих библиотек

Существует множество возможных сценариев работы с данными среды выполнения MATLAB. Наиболее общий сценарий включает настройку среды выполнения MATLAB с определенными данными для последующего извлечения следующим образом:

  1. Включите в код файл заголовка MATLAB Runtime и заголовок библиотеки, сгенерированный MATLAB Compiler SDK.

  2. Правильно инициализировать приложение с помощью mclInitializeApplication.

  3. После создания входных данных запишите или установите их в MATLAB Runtime с помощью setmcruserdata.

  4. После вызова функций или выполнения другой обработки извлеките новые данные среды выполнения MATLAB с помощью getmcruserdata.

  5. Освободите память в рабочих областях, удалив ненужные массивы с помощью mxDestroyArray.

  6. Правильно завершите работу приложения с помощью mclTerminateApplication.

См. также

|