了解 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 等等。