了解 mclmcrrt
代理层
MATLAB® Compiler™ 和 MATLAB Compiler SDK™ 生成的所有应用程序和软件组件仅需链接到一个 MATLAB 库 mclmcrrt
。该库为 MATLAB 库中用于矩阵运算、MAT 文件访问、实用工具和内存管理以及应用程序 MATLAB Runtime 的所有公共函数提供了代理 API。mclmcrrt
库位于已部署的 MATLAB 代码和这些其他版本相关的库之间,提供以下功能:
确保 MATLAB Runtime 的多个版本可以共存
提供间接层
确保应用程序是线程安全的
动态加载依赖(重新导出)的库
mclmcrrt
与其他 MATLAB 库的关系如下图所示。
MCLMCRRT 代理层
图中实线箭头表示静态链接,虚线箭头表示动态链接。该图说明了 mclmcrrt
库层如何位于 mclmcr
和 mcr
库之上。mclmcr
库包含已部署的 MATLAB 代码的运行时功能。mcr
模块确保部署的每个 MATLAB 代码捆绑包在运行时都在其自己的上下文中运行。mclmcrrt
代理层除了加载 mclmcr
之外,还动态加载 MX
和 MAT
模块,主要用于 mxArray
操作。如需详细信息,请使用关键字“MSVC
共享库”进行搜索。
小心
部署的应用程序必须仅链接到 mclmcrrt
代理层库(Windows® 上为 mclmcrrt.lib
,Linux® 上为 mclmcrrt.so
,Macintosh 上为 mclmcrrt.dylib
)。不要链接到图中所示的其他库,例如 mclmcr
、libmx
等等。