MATLAB®编码器™生成一个代码生成报告,帮助您:
调试代码生成问题,并验证您的MATLAB代码适用于代码生成。
视图生成的C / c++代码。
跟踪之间的MATLAB源代码,生成的C / c++代码。
看看代码生成器决定和传播类型信息在MATLAB代码中变量和表达式。
在生成的代码中识别潜在的问题。
访问额外可用的报告与嵌入式编码器®。
当你启用报告生成或当出现错误,代码生成器生成的代码生成报告。控制生产和开放的代码生成报告,使用应用程序设置,codegen
选项,或者配置对象的属性。
在MATLAB编码器应用:
生成一个报告,集总是创建一个报告来是的
。
如果您希望应用程序打开报告,集如果生成一个自动发布的一份报告来是的
。
在命令行中,使用codegen
选项:
要生成报告,可以使用报告
选择。
生成并打开一个报告,使用-launchreport
选择。
另外,使用配置对象的属性:
生成一个报告,集GenerateReport
来真正的
。
如果你想要codegen
为你打开报告,集LaunchReport
来真正的
。
代码生成报告命名report.mldatx
。它位于html
代码生成输出文件夹的子文件夹。如果你有MATLAB R2018a或以后,你可以打开report.mldatx
文件通过双击它。
视图代码生成错误、警告和信息上的消息所有消息选项卡。突出的源代码一个错误或警告,点击消息。这是一个最佳实践来解决第一个消息,因为后续的错误和警告可以与第一个消息。
查看编译和链接的错误和警告建立日志选项卡。代码生成器检测编译警告只对墨西哥人输出或如果您使用一个支持其他类型的编译器输出。金宝app看到金宝app支持编译器。
报告列出了MATLAB源码功能和生成的文件。在MATLAB源窗格中,函数列表根据包含文件视图组织功能。根据调用结构可视化功能,使用调用树视图。
查看代码中的函数报告的窗格中,点击列表中的功能。点击打开文件,其中包含一个函数的函数。编辑所选文件在MATLAB编辑器中,单击编辑在MATLAB或在代码窗格中单击行号。
如果你启用了可追溯性的嵌入式编码和生成报告,查看源代码和生成的代码在代码中相邻窗格中,单击跟踪代码。您可以交互式地跟踪源代码和生成的代码。看到之间的交互跟踪MATLAB代码和生成的C / c++代码(嵌入式编码)。
如果你想移动为独立的代码生成的文件(库或可执行文件)到另一个开发环境中,您可以把它们放进一个zip文件,点击包代码。
当一个函数被调用,不同类型的输入或一个类使用不同类型的属性,代码生成器产生的专门化。在MATLAB源窗格中,编号的功能(或类)表明专门化。例如:
如果你浮点MATLAB代码转换为定点MATLAB代码,然后生成定点C / c++代码,MATLAB源窗格中列出了原始的MATLAB函数和定点MATLAB函数。例如:
查看一个MATLAB函数代码中的窗格中,单击的函数的名称MATLAB源窗格。在代码中窗格中,当你暂停一个变量或表达式,工具提示显示信息的大小,类型和复杂性。此外,语法高亮有助于识别MATLAB语法元素和某些代码生成属性,比如一个函数是否外在还是一个论点是恒定的。
报告确定了一个外部函数与紫色的文本。工具提示表明函数是外在的。
橙色文字表示编译时常量参数一个入口点函数或一个专门的函数。工具提示包括恒定值。
知道一个常数的价值观点能帮助你理解生成的函数签名。它还可以帮助你看到当代码生成创建函数专门化不同常数参数值。
出口在工作区中一个变量的值,点击导出图标。
的变量选项卡提供的信息变量选择的MATLAB函数。选择一个函数,点击功能MATLAB源窗格。
表显示的变量:
类、大小和复杂性
定点的属性类型
一个数组是否稀疏
阵列布局
这些信息可以帮助您调试错误,比如类型不匹配错误,理解代码生成器传播类型和表示数据在生成的代码。
此表描述了符号、徽章、表和其他指标变量。
列在表的变量 | 指示器 | 描述 |
---|---|---|
的名字 | 扩张器 | 变量元素或属性,你可以看到通过单击扩展器。 |
的名字 | {:} |
同质单元阵列(所有元素具有相同的属性)。 |
的名字 | {n} |
n 异构单元阵列的th元素。 |
类 | v > n |
v 与一个不同的类重用、大小和复杂性。数量n 标识一个重用与一组独特的属性。当你暂停一个重命名变量,报告强调只有这个变量的实例共享类,大小和复杂性。看到重用相同的变量具有不同的属性。 |
大小 | :n |
适应可变数组的一个上界n 。 |
大小 | :哦? |
适应可变数组没有上限。 |
大小 | 斜体 | 在执行期间适应可变数组的尺寸不改变大小。 |
类 | 稀疏的 前缀 |
稀疏阵列。 |
类 | 复杂的 前缀 |
复数。 |
类 | 定点类型。 要看到定点属性,单击徽章。 |
此表描述了徽章表明数组变量表中的布局。
徽章 | 描述 |
---|---|
行存储阵列布局。 | |
列为主的阵列布局。 | |
行和列为主的布局。 |
看到行存储和列存储阵列布局。
之间你可以跟踪MATLAB源代码和生成的C / c++代码通过使用这些方法之一:
交互式可视化之间的映射MATLAB代码和生成的代码。访问互动跟踪,在报告中,点击跟踪代码。
的跟踪代码启用按钮只有如果你有嵌入式编码器和你启用代码生成的代码时可追溯性。看到之间的交互跟踪MATLAB代码和生成的C / c++代码(嵌入式编码)。
包括源代码注释生成的C / c++代码。
在注释,代码生成器生成一个标签,帮助你找到相应的MATLAB源代码。如果你有嵌入式编码器,标签是一个链接到源代码。看到跟踪生成的C / c++代码的MATLAB源代码。
代码生成器可以检测和报告问题可能发生在生成的代码。视图上的消息代码的见解选项卡。这些问题包括:
潜在的差异生成的代码的行为和MATLAB代码的行为。该报告只包括潜在差异信息如果你启用潜在差异报告。看到潜在的差异报告。
潜在的数据类型问题在生成的代码中,单精度和双精度等操作。
该报告只包括潜在的数据类型问题如果你有嵌入式编码器和你使潜在的数据类型问题报告。如果你有定点设计师™,报告还提出了昂贵的定点操作。看到在报告中强调潜在的数据类型问题(嵌入式编码)。
潜在的存储问题。看到代码行阵列布局设计。
自动并行化问题。看到自动并行化的循环生成的代码。
的总结选项卡可以链接到这些额外的报告:
静态代码度量报告(需要嵌入式编码)。看到生成一个静态代码度量报告从MATLAB代码生成的代码(嵌入式编码)。
代码替换报告(需要嵌入式编码)。看到验证代码替换库(嵌入式编码)。
定点转换报告(需要定点设计师)。看到MATLAB代码转换为定点C代码。