在生成的 C/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 代码
在代码生成报告中查看生成的代码。
要打开代码生成报告,请点击
查看报告
。在生成的代码窗格中,点击
polar2cartesion.c
。生成的代码包括:
在函数前注中包含函数签名和函数帮助文本。
包含与生成的 C/C++ 代码对应的 MATLAB 源代码的注释。该注释包含链接到原始 MATLAB 代码的可追溯性标记。
生成的函数前注也取决于代码生成模板 (CGT) 文件。使用默认 CGT 时,代码生成器将有关参量的信息放置在函数前注中。您可以通过修改 CGT 来自定义函数前注。请参阅Generate Custom File and Function Banners for C/C++ Code。
将生成的代码追溯到 MATLAB 代码
可追溯性标记提供的信息和链接可帮助您将生成的代码追溯回原始 MATLAB 代码。例如,点击代码 x = r * cos(theta);
之前的可追溯性标记。
该报告将打开 polar2cartesian.m
并突出显示第 4 行。
要查看 MATLAB 源代码和生成彼此相邻的 C/C++ 代码并在它们之间交互追溯,请在报告中点击追溯代码。请参阅Interactively Trace Between MATLAB Code and Generated C/C++ Code。