理解mclmcrrt
代理层
生成的所有应用程序和软件组件MATLAB®编译器™和MATLAB编译SDK™只需要链接一个MATLAB库,mclmcrrt
。该库为MATLAB库中用于矩阵运算、mat文件访问、实用程序和内存管理以及应用程序的所有公共函数提供代理APIMATLAB运行时。的mclmcrrt
库位于已部署的MATLAB代码和这些其他版本相关库之间,提供以下功能:
的多个版本MATLAB运行时可以共存
提供一个间接层
确保应用程序是线程安全的
动态加载依赖的(重新导出的)库
之间的关系mclmcrrt
等MATLAB库,如下图所示。
MCLMCRRT代理层
在图中,实线箭头表示静态链接,虚线箭头表示动态链接。该图说明了如何mclmcrrt
库层位于mclmcr
和mcr
库。的mclmcr
库包含部署的MATLAB代码的运行时功能。的mcr
模块确保部署的每个MATLAB代码包在运行时在其自己的上下文中运行。的mclmcrrt
代理层,除了加载mclmcr
,也会动态加载MX
和垫
模块,主要用于mxArray
操纵。有关更多信息,请参阅MathWorks®金宝app支持数据库并搜索有关的信息MSVC
共享库。
谨慎
已部署的应用程序必须只链接到mclmcrrt
代理层库(mclmcrrt.lib
在Windows上®,mclmcrrt.so
在Linux上®,mclmcrrt.dylib
在麦金塔电脑)。不要链接到图中显示的其他库,例如mclmcr
,libmx
等等。
这个话题有帮助吗?