首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >编译的MATLAB:为什么我的应用程序挂在最后?

编译的MATLAB:为什么我的应用程序挂在最后?
EN

Stack Overflow用户
提问于 2009-11-23 19:27:19
回答 1查看 1.3K关注 0票数 1

我正在使用MATLAB的部署工具来编译一个使用mex库的简单项目。该可执行文件运行正常,并执行它应该做的事情,只是当它应该完成时,什么都不会发生。它就在那儿。

当我编译任何其他项目时,例如文档中的神奇方块示例,它可以正常工作。可执行文件完成并退出。

我在disp('at end');文件的末尾添加了一个.m,这一行确实被显示了,所以我知道它已经到了.m文件的末尾,但它只是没有退出进程。

这一切为什么要发生?

编辑:

在MATLAB中,它正常运行,在'at end'之后返回。代码太长了,不能包含在这里。除了使用mex库之外,它还能完成相当正常的工作。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2009-11-23 22:16:02

在这个问题上没有太多的细节可供考虑,但有两种可能性:

  1. 在执行结束时有可见的图形窗口。编译后的应用程序将等待所有图形窗口在退出前终止。参见MATLAB文档中的函数mclWaitForFiguresToDie.
  2. Somehow -- MEX库正在调用内置函数waitforcallbacks,这将“阻止应用程序退出,直到调用which (False)”。还请注意(来自对waitforcallbacks的帮助):“对waitforcallbacks的调用位于nest.warforcallback(False)必须被调用的次数与已部署的应用程序退出的次数相同。”
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1785402

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档