主要内容

代码生成报告

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变量

变量选项卡提供的信息变量选择的MATLAB函数。选择一个函数,点击功能MATLAB源窗格。

表显示的变量:

  • 类、大小和复杂性

  • 定点的属性类型

  • 一个数组是否稀疏

  • 阵列布局

这些信息可以帮助您调试错误,比如类型不匹配错误,理解代码生成器传播类型和表示数据在生成的代码。

视觉指标变量选项卡

此表描述了符号、徽章、表和其他指标变量。

列在表的变量 指示器 描述
的名字 扩张器 变量元素或属性,你可以看到通过单击扩展器。
的名字 {:} 同质单元阵列(所有元素具有相同的属性)。
的名字 {n} n异构单元阵列的th元素。
v > n v与一个不同的类重用、大小和复杂性。数量n标识一个重用与一组独特的属性。当你暂停一个重命名变量,报告强调只有这个变量的实例共享类,大小和复杂性。看到重用相同的变量具有不同的属性
大小 :n 适应可变数组的一个上界n
大小 :哦? 适应可变数组没有上限。
大小 斜体 在执行期间适应可变数组的尺寸不改变大小。
稀疏的前缀 稀疏阵列。
复杂的前缀 复数。

定点类型。

要看到定点属性,单击徽章。

阵列布局指标变量选项卡

此表描述了徽章表明数组变量表中的布局。

徽章 描述

行存储阵列布局。

列为主的阵列布局。

行和列为主的布局。

看到行存储和列存储阵列布局

跟踪代码

之间你可以跟踪MATLAB源代码和生成的C / c++代码通过使用这些方法之一:

  • 交互式可视化之间的映射MATLAB代码和生成的代码。访问互动跟踪,在报告中,点击跟踪代码

    跟踪代码启用按钮只有如果你有嵌入式编码器和你启用代码生成的代码时可追溯性。看到之间的交互跟踪MATLAB代码和生成的C / c++代码(嵌入式编码)

  • 包括源代码注释生成的C / c++代码。

    在注释,代码生成器生成一个标签,帮助你找到相应的MATLAB源代码。如果你有嵌入式编码器,标签是一个链接到源代码。看到跟踪生成的C / c++代码的MATLAB源代码

代码的见解

代码生成器可以检测和报告问题可能发生在生成的代码。视图上的消息代码的见解选项卡。这些问题包括:

额外的报告

总结选项卡可以链接到这些额外的报告:

报告的局限性

  • 入口点摘要显示的单个元素变长度输入宗量varargout,但变量表不给他们看的。

  • 这份报告并没有对于展开循环显示全部信息。它显示任意数据类型的一个迭代。

  • 这份报告并没有显示死代码的信息。

相关的话题