Embedded Coder生成C代码注释

学习目标

本教程将向您说明如何生成包含以下内容的代码:

  • 在函数前注中包含函数签名和函数帮助文本。
  • 包含 MATLAB® 源代码,以带有可追溯性标记的注释表示。在代码生成报告中,可追溯性标记链接到对应的 MATLAB 源代码。

前提条件

要完成本教程,您必须拥有以下产品:

  • MATLAB
  • MATLAB Coder™
  • Embedded Coder®
  • C 编译器

创建 MATLAB 源文件

在一个可写文件夹中,创建包含以下代码的 MATLAB 源文件 polar2cartesian.m:

function [x y] = polar2cartesian(r,theta)

%#codegen

% Convert polar to Cartesian

x = r * cos(theta);

y = r * sin(theta);

配置编译参数

创建 coder.EmbeddedCodeConfig 代码生成配置对象,并将下列属性设置为 true:

  • GenerateComments,允许在生成的代码中包含注释。
  • MATLABSourceComments,生成含可追溯性标记的注释,指向 MATLAB 源代码。在代码生成报告中,这些标记链接到对应的 MATLAB 代码。当此属性为 true 时,代码生成器还会在函数前注中生成函数签名。
  • MATLABFcnDesc,以在函数前注中生成函数帮助文本。

cfg = coder.config('lib', 'ecoder', true);

cfg.GenerateComments = true;

cfg.MATLABSourceComments = true;

cfg.MATLABFcnDesc = true;

生成 C 代码

要生成 C 代码,请调用 codegen 函数。设置以下选项:

  • -config,用于传入代码生成配置对象 cfg。
  • -report,用于创建代码生成报告。
  • -args,用于指定输入参数的类、大小和复/实性。

codegen -config cfg  -report polar2cartesian -args {0, 0}

codegen 在 /codegen/lib/polar2cartesian 子文件夹中生成 C 静态库 polar2cartesian.lib 和 C 代码。因为您选择了生成报告,所以 codegen 会提供指向该报告的链接。

查看生成的 C 代码

在代码生成报告中查看生成的代码。

  1. 要打开代码生成报告,请点击查看报告。
  2. 生成的代码窗格中,点击 polar2cartesion.c。

生成的代码包括:

    • 在函数前注中包含函数签名和函数帮助文本。
    • 包含与生成的 C/C++ 代码对应的 MATLAB 源代码的注释。该注释包含链接到原始 MATLAB 代码的可追溯性标记。

生成的函数前注也取决于代码生成模板 (CGT) 文件。使用默认 CGT 时,代码生成器将有关参数的信息放置在函数前注中。您可以通过修改 CGT 来自定义函数前注。

将生成的代码追溯到 MATLAB 代码

可追溯性标记提供的信息和链接可帮助您将生成的代码追溯回原始 MATLAB 代码。例如,点击代码 x = r * cos(theta); 之前的可追溯性标记。

该报告将打开 polar2cartesian.m 并突出显示第 4 行。

要查看 MATLAB 源代码和生成彼此相邻的 C/C++ 代码并在它们之间交互追溯,请在报告中点击追溯代码

相关推荐

  1. 使用 kapt 注解生成依赖注入代码

    2024-07-09 21:06:03       15 阅读
  2. 编程艺术C代码学习注释

    2024-07-09 21:06:03       58 阅读
  3. 顺序表的构建(C++)---- 代码 + 注释

    2024-07-09 21:06:03       41 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-09 21:06:03       66 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-09 21:06:03       70 阅读
  3. 在Django里面运行非项目文件

    2024-07-09 21:06:03       57 阅读
  4. Python语言-面向对象

    2024-07-09 21:06:03       68 阅读

热门阅读

  1. Vite 中怎么添加全局 scss 文件

    2024-07-09 21:06:03       24 阅读
  2. 深入理解 CSS 选择器:全面指南

    2024-07-09 21:06:03       23 阅读
  3. 记一次使用“try-with-resources“的语法导致的BUG

    2024-07-09 21:06:03       27 阅读
  4. area_center 区域和区域中心。

    2024-07-09 21:06:03       31 阅读
  5. Linux

    2024-07-09 21:06:03       22 阅读
  6. 从vs中删除自带的Microsoft Git Provider

    2024-07-09 21:06:03       17 阅读
  7. 设计模式的一点理解

    2024-07-09 21:06:03       18 阅读
  8. QT 设置控件的展开和消失

    2024-07-09 21:06:03       22 阅读
  9. qt 读取配置文件

    2024-07-09 21:06:03       21 阅读