使用 MATLAB Runtime 用户数据接口
MATLAB® Runtime 用户数据接口让您轻松访问 MATLAB Runtime 数据。此功能允许在 MATLAB Runtime 实例、在该 MATLAB Runtime 实例上运行的 MATLAB 代码以及创建 MATLAB Runtime 实例的包装器代码之间共享键和值。通过调用 MATLAB Runtime 用户数据接口 API,您可以通过创建 mxArray 的每个实例关联数组来访问 MATLAB Runtime 数据,该数组由从字符串键到 mxArray 值的映射组成。这样做的原因包括但不限于:
您需要向运行使用 Parallel Computing Toolbox™ 创建的应用程序的客户端提供 MATLAB Runtime 配置文件信息。您可以根据每次执行提供和更改配置文件信息。例如,同一应用程序的两个实例可以使用不同的配置文件同时运行。有关详细信息,请参阅在部署的应用程序中使用 Parallel Computing Toolbox。
您想要使用所有 MATLAB 应用程序都可以访问的常量值来初始化 MATLAB Runtime。
您想要设置一个全局工作区 - MATLAB 和您的客户端可以访问的一个或多个全局变量。
您想要存储任何变量或变量组的状态。
MATLAB 函数
该 API 由两个可从部署的 MATLAB 代码中调用的 MATLAB 函数组成。使用已部署的 MATLAB 应用程序中的 MATLAB 函数 getmcruserdata 和 setmcruserdata。它们仅在使用 MATLAB Compiler™ 或 MATLAB Compiler SDK™ 创建的应用程序中默认加载。
提示
如果无法找到 MCLMCR 模块,则在 MATLAB 中调用 getmcruserdata 和 setmcruserdata 时会产生 Unknown function 错误。您可以在调用 getmcruserdata 和 setmcruserdata 之前调用 isdeployed 来避免这种情况。有关详细信息,请参阅 isdeployed。
设置和检索共享库的 MATLAB Runtime 数据
使用 MATLAB Runtime 数据的可能场景有很多。最常见的情况是使用特定数据设置 MATLAB Runtime 以供稍后检索,如下所示:
在您的代码中,包含 MATLAB Runtime 头文件和 MATLAB Compiler SDK 生成的库头。
使用
mclInitializeApplication正确初始化您的应用程序。创建输入数据后,使用
setmcruserdata将其写入或设置到 MATLAB Runtime。调用函数或执行其他处理后,使用
getmcruserdata检索新的 MATLAB Runtime 数据。使用
mxDestroyArray处理不需要的数组,释放工作区域中的存储内存。使用
mclTerminateApplication正确关闭您的应用程序。
另请参阅
setmcruserdata | getmcruserdata