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

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

  • Необходимо предоставить информацию профиля во время выполнения клиенту, выполняющему приложение, созданное с помощью Parallel Computing Toolbox™. Вы предоставляете и изменяете информацию профиля для базиса выполнения. Например, два образцов одного и того же приложения могут запускаться одновременно с различными профилями. Дополнительные сведения см. в разделе Использование Parallel Computing 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 Runtime для общих библиотек

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

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

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

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

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

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

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

См. также

|