MATLAB® Runtime User Data Interface позволяет вам легко доступ данные MATLAB Runtime. Это позволяет ключам и значениям быть переданными среди экземпляра MATLAB Runtime, код MATLAB, работающий на MATLAB Runtime и хост-приложении, которое создало экземпляр. Через вызовы Пользовательского API Интерфейса Данных MATLAB Runtime вы получаете доступ к данным MATLAB Runtime путем создания ассоциативного массива на экземпляр mxArray
s, состоя из отображения от строковых ключей до значений mxArray
. Причины того, чтобы сделать это включают, но не ограничиваются следующим:
Необходимо предоставить информацию профиля во время выполнения клиенту, запускающему приложение, созданное с Parallel Computing Toolbox™. Вы предоставляете и изменяете информацию о профиле на основе на выполнение. Например, два экземпляра того же приложения могут запуститься одновременно с различными профилями. Для получения дополнительной информации смотрите Использование Parallel Computing Toolbox в Развертываемых приложениях (MATLAB Compiler SDK).
Вы хотите настроить глобальную рабочую область, глобальную переменную или переменные, к которым могут получить доступ MATLAB и ваш клиент.
Вы хотите сохранить состояние любой переменной или группу переменных.
API состоит из:
Две функции MATLAB, вызываемые из развертываемого приложения код MATLAB
Четыре внешних функции C, вызываемые из кода обертки развертываемого приложения
Используйте функции MATLAB getmcruserdata
и setmcruserdata
от развернутых приложений MATLAB. Они загружаются по умолчанию только в приложениях, созданных с продуктами MATLAB Compiler SDK™ или MATLAB Compiler™.
Можно включать 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 и заголовок библиотеки, сгенерированный MATLAB Compiler SDK.
Правильно инициализируйте свое приложение с помощью mclInitializeApplication
.
После создания ваших входных данных запишите или установите его на MATLAB Runtime с setmcruserdata
.
После вызывания функций или выполнения другой обработки, получите новые данные MATLAB Runtime с getmcruserdata
.
Свободный память устройства хранения данных в рабочих областях путем избавления от ненужных массивов с mxDestroyArray
.
Закройте свое приложение правильно с mclTerminateApplication
.