罗兰在MATLAB的艺术

把想法变成MATLAB

使用MATLAB代码分析器来帮助编写部署代码

本周,雅各客座博客写了如何使用基于matlab工具来开发应用程序部署就绪的《盗梦空间》。

部署的应用程序依赖的MATLAB编译器运行时(MCR)来执行。MCR与MATLAB的微妙但重要的方式。你会发现基于matlab的应用程序更容易部署你的代码考虑到这些差异。你可以学习如何通过阅读开发部署的应用程序我们的文档博客文章。帮助你跟踪所有的细节,我们正在努力把其中一些信息到我们的开发工具。我们加强部署的第一个工具是MATLAB代码分析器,mlint

内容

将部署上的消息

代码分析仪检查MATLAB代码来检测可能出现的问题或改进。的代码分析器是集成到MATLAB编辑器,这样你就可以看到它的建议当您开发您的代码。

代码分析器建议分为几类(你可以调整哪些消息显示通过代码分析器偏好)。

MATLAB编译器(部署)消息提醒你当你使用某些功能可能无法部署。然而,你可能没有注意到这些消息之前,因为这类在默认情况下是禁用的。为了使这一类的消息:

  • 调用代码分析器偏好通过选择File > Preferences >代码分析器
  • 在默认设置框中,定位MATLAB编译器(部署)消息类别,点击启用类别。
  • 捕捉Non-Deployable代码

    启用了部署信息,代码分析器可以帮助检测当你开发有问题的代码。例如,编写可部署的代码使用以下代码作为一个例子,可能在运行时编译但产生不良的结果:

    cd mathFcns z =添加(x, y);cd . ./ stringFcns s =添加(s1, s2);

    在MATLAB编辑器,代码分析器强调的两个实例cd命令。通过将鼠标停留在强调词,您查看预警信息:

    MCC CD函数的使用是有问题的。

    此外,如果你点击消息,得到一个解释和建议的行动。在这种情况下,建议采取行动以避免使用CD命令。

    代码分析器的局限性

    代码分析器可以帮助许多non-deployable实例代码。大多数这些实例涉及的使用已知的有问题的功能就像cd,目录帮助

    事实上,默认设置窗口代码分析器偏好显示所有可能的消息代码分析器可能会显示。阅读这些信息可以帮助您理解代码构造代码分析器可能会赶上。

    虽然代码分析器是一个有用的工具来检测一些non-deployable的实例代码,它不能检测所有实例。例如,考虑下面的示例结果没有警告或错误信息:

    集(gca,‘ButtonDownFcn’,‘LogButtonPress’);

    这段代码部署时可能会导致失败,因为MATLAB编译器的依赖分析(depfun)不能检测到LogButtonPress是一个函数,必须包含在应用程序。这段代码在部署模式下工作,你必须明确地包含了LogButtonPress在编译时(通过使用——一个开关在世纪挑战集团)。在这种情况下,代码分析器患有一些相同的限制,MATLAB编译器的依赖关系分析——无法理解一个字符串的内容。

    使用代码分析器但不依赖于它

    分析器可以帮你编写的代码部署代码,但它并不能代替理解编译过程或如何在MATLAB运行您的应用程序不同于运行的MCR。这种理解为编写部署代码最终提供最好的基础。

    然而,即使你不能完全依赖于代码分析器保证部署代码,您仍然可以使用它来快速捕获实例,可能需要长时间的调试正确。毕竟,问题被解决在开发通常成本远远低于问题在部署应用程序时。

    MATLAB编码模式还有其他你认为代码分析器应该发布部署警告吗?让我们知道在这里




    使用MATLAB®7.11发表

    |
    • 打印
    • 发送电子邮件

    评论

    留下你的评论,请点击在这里MathWorks账户登录或创建一个新的。