为什么MCR崩溃当我重新运行编译后的代码吗?

5视图(30天)
我编译的应用程序使用MATLAB编译器创建的SDK和主应用程序调用多次M代码编译。每次运行独立于彼此。我能从我的主应用程序编译后的代码运行一次,然后在第二回合MCR崩溃。我启动MCR每次调用编译后的代码和关闭。

接受的答案

MathWorks支万博1manbetx持团队”class=
MCR应该初始化一旦开始你的主应用程序(或者你第一次调用编译后的代码),不应该拆除到主应用程序。停止和重新启动MCR是未定义的行为,所以自从MCR正在重新初始化,它仍然是活跃的,是崩溃。
:
共享MATLAB运行时实例——使用MATLAB编译器SDK时,您可以创建一个共享的MATLAB运行时实例,也称为单例。当你使用- s选项通过调用MATLAB编译器编译器(使用mcc或编译器应用程序),一个MATLAB运行时实例为每个COM组件或创建Java包在一个应用程序。你重用这个实例通过分享它在所有随后的类实例。这种共享导致更有效的内存使用和消除了MATLAB运行时启动成本在每个后续类实例化。所有类实例共享一个MATLAB工作区和共享全局变量在已部署的MATLAB文件。MATLAB编译器SDK为。net程序集创建默认单例。MATLAB编译器创建单例默认情况下使用的COM组件Excel插件。”

更多的答案(0)

s manbetx 845


释放

R2020b

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!