文档

coder.screener

确定函数是否适合代码生成

语法

coder.screener (fcn)
coder.screener (fcn_1……fcn_n)

描述

coder.screener (fcn分析了MATLAB的入口点®函数,fcn.它将不支持的函数和语言特性标识为万博1manbetx代码生成遵从性问题。它在报告中显示代码生成遵从性问题。如果fcn直接或间接调用其他不是MathWorks的函数®功能,coder.screener分析这些函数。它不分析MathWorks函数。有可能coder.screener不检测所有代码生成问题。在某些情况下,有可能coder.screener报告错误。

coder.screener (fcn_1,…,fcn_n分析入口点函数(fcn_1,…,fcn_n).

输入参数

fcn

要分析的入口点MATLAB函数的名称。指定为字符向量或字符串标量。

fcn_1,…,fcn_n

要分析的入口点MATLAB函数的名称列表,以逗号分隔。指定为字符向量或字符串标量。

例子

全部折叠

coder.screener函数标识对不支持代码生成的函数的调用。万博1manbetx它检查了入口函数,foo1,和函数foo2foo1调用。

写函数foo2并保存在文件中foo2.m

函数Out = foo2(in) Out = eval(in);结束

写函数foo1调用foo2.保存foo1在文件中foo1.m

函数Out = foo1(in) Out = foo2(in);disp(出);结束

分析foo1

coder.screener (“foo1”

代码生成准备情况报告显示了不支持的MATLAB函数调用的摘要。万博1manbetx这个函数foo2调用一个不支持的MATL万博1manbetxAB函数。

在报表中,单击代码结构选项卡,并选择MATLAB函数显示复选框。

此选项卡显示一个饼图,显示每个文件的相对大小以及每个文件对代码生成的适合程度。在这种情况下,报告:

  • 颜色foo1.m绿色表示适合代码生成。

  • 颜色foo2.m黄色表示需要进行重大更改。

  • 分配foo1.m代码生成准备程度为4分foo2.m3分。评分以1-5分为基础。1表示需要重大变更;5表示代码生成准备工具没有检测到问题。

  • 显示呼叫树。

这份报告总结TAB表示foo2.m对象的调用eval函数,代码生成不支持该函数。万博1manbetx生成的MEX函数foo2.m,修改代码以使调用eval外在。

函数Out = foo2(in) code .extrinsic(“eval”);Out = eval(in);结束

重新运行代码生成准备工具。

coder.screener(“foo1”)

该报告不再标记代码生成不支持万博1manbetxeval函数。生成的MEX函数时foo1,代码生成器分派eval到MATLAB中执行。对于独立代码生成,代码生成器不会为eval

coder.screener函数标识代码生成不支持的MATLAB数据类型。万博1manbetx

写函数myfun其中包含MATLAB表格。

函数outTable = myfun1(A) outTable = table(A);结束

分析myfun

coder.screener (“myfun1”);

代码生成准备情况报告表明代码生成不支持表数据类型。万博1manbetx

报告指定myfun1代码准备得分为3..在生成代码之前,必须修复报告的问题。

提示

  • 使用前coder.screener,修复代码分析器识别的问题。

  • 在生成代码之前,使用coder.screener检查一个函数是否适合代码生成。修复它检测到的所有问题。

在R2012b中引入

这个话题有用吗?