coder.screener

确定功能适用于代码生成

描述

coder.screener(FCN分析入口点MATLAB®功能FCN识别不支持的功能和语言特征代金宝app码生成合规性问题。代码生成合规问题都显示在准备报告。

如果FCN调用直接或间接的其它功能不属于MathWorks公司®功能(MATLAB内置函数和工具箱功能),coder.screener分析这些功能。它不分析MathWorks的功能。

它可能是coder.screener没有检测到所有的代码生成的问题。在某些情况下,它是可能的coder.screener报告虚假错误。

为了避免被发现的代码生成问题和虚假的错误,生成代码之前,请确认您的MATLAB代码,适合代码生成通过执行这些额外的检查:

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

  • 使用后coder.screener和生成C / C ++代码之前,确认您的MATLAB代码适合于代码生成由生成和验证MEX函数。

coder.screener功能不报告功能,代码生成器将其视为外在的。这些功能的示例是情节DISP数字。看到外在功能

coder.screener(fcn_1,...,fcn_n分析多个入口点MATLAB功能。

例子

全部收缩

coder.screener函数调用识别到不支持代码生成功能。金宝app它检查入口点函数,foo1和功能,foo2的,那foo1调用。

写功能foo2的并将其保存在文件中foo2.m

功能OUT = foo2的(上)出来= EVAL(IN);结束

写功能foo1该呼叫foo2的。救foo1在文件中foo1.m

功能OUT = foo1(上)出来= foo2的(上);DISP(下);结束

分析foo1

coder.screener('foo1'

代码生成就绪报告显示不支持的MATLAB函数调用的摘要。金宝app那个报告概要选项卡指示foo2.m包含一个调用EVAL函数,它不支持代码生成。金宝app

在报告中,点击代码结构选项卡并选择显示功能的MATLAB复选框。

该标签显示表示每个文件的相对大小的饼图和如何合适的每个文件是用于代码生成。该报告显示:

  • 绿色:功能(foo1.m)适合于代码生成。

  • 黄:功能(foo2.m)需要显著的变化。

该报告还显示调用树代码生成就绪得分。得分是基于1-5级。1表示所需显著变化。5指示代码生成工具准备不检测的问题。在这个例子中,该报告受让人foo1.m代码生成准备评分的图4和foo2.m3分。

功能foo2的调用一个不支持的MATL金宝appAB功能。要生成一个MEX功能foo2.m,修改代码以使呼叫EVAL外在,然后重新运行代码生成工具的准备。

更新功能EVAL通过使用非本征coder.extrinsic功能。

功能OUT = foo2的(上)coder.extrinsic('EVAL');OUT = EVAL(IN);结束

重新运行coder.screener

coder.screener('foo1'

该报告不再标记,它们的代码生成不支持金宝appEVAL功能。当您生成的MEX函数foo1中,代码生成调度EVALMATLAB的执行。对于独立的代码生成,代码生成器不生成代码EVAL

coder.screener功能识别MATLAB数据类型的代码生成不支持。金宝app

写功能myfun1包含一个MATLAB日历时间数组数据类型。

功能OUT = myfun1(A)OUT = calyears(A);结束

分析myfun1

coder.screener('myfun1');

代码生成准备报告指出,calyears数据类型不支持代码生成。金宝app

该报告受让人myfun1代码生成准备评分的3。生成代码之前,修复报告的问题。

输入参数

全部收缩

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

例:coder.screener( 'myfun');

数据类型:烧焦|

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

例:coder.screener( 'myfun1', 'myfun2');

数据类型:烧焦|

限制

  • coder.screener功能不支持的金宝appMATLAB在线™

介绍了在R2012b