代码生成模板(CGT)文件定义生成代码中的部分,您可以使用注释和令牌自定义。使用代码生成模板(CGT)文件从MATLAB生成C和C ++代码®代码,您可以为生成的代码指定自定义文件横幅和功能横幅。文件横幅是生成文件的标题部分和尾部部分中的注释部分。函数横幅是生成代码中每个函数的注释部分。您还可以在代码节之前自定义注释。使用这些横幅:
添加公司版权声明。
为配置管理系统指定特殊版本符号。
删除时间戳。
将其他自定义信息添加到生成的文件中。
有关创建、自定义和使用CGT文件的信息,请参见为C / C ++代码生成自定义文件和功能横幅.
您可以将自定义模板基于默认的CGT文件基础,matlabcoder\u default\u template.cgt
,在
文件夹。matlabroot
/ /工具箱/编码器/ matlabcoder /模板
笔记
如果选择不为生成的代码自定义横幅,则默认模板将用于代码生成。
CGT文件由13个可选部分组成。
包含用于生成自定义文件横幅的注释和令牌。
包含用于生成自定义函数标题的注释和标记。
包含用于为共享实用程序函数生成自定义横幅的注释和标记。
包含用于生成自定义拖车横幅的注释。
包含用于生成包含文件部分的自定义横幅的注释。
包含用于为“类型定义”节生成自定义横幅的注释。
包含用于为命名常量节生成自定义横幅的注释。
包含用于为变量声明部分生成自定义横幅的注释。
包含用于为变量定义部分生成自定义横幅的注释。
包含用于为函数声明部分生成自定义横幅的注释。
包含用于为函数定义部分生成自定义横幅的注释。
包含用于为自定义源代码部分生成自定义横幅的注释。
包含用于为自定义标题码部分生成自定义横幅的注释。
每个CGT文件部分由打开和关闭标记定义。
CGT文件部分 | 开放标签 | 结束标记 |
---|---|---|
文件横幅 | < FileBanner > |
filebanner> |
横幅功能部分 |
|
functionbanner> |
共享公用功能横幅 |
|
|
文件预告片部分 | < FileTrailer > |
|
包含文件横幅 | < IncludeFilesBanner > |
includefileSbanner> |
类型定义 |
|
|
命名常量 |
|
namedConstantsBanner> |
变量声明 |
|
|
变量定义 |
|
< / VariableDefinitionsBanner > |
函数声明 |
|
|
函数定义 |
|
|
自定义的源代码 | < CustomSourceCodeBanner > |
customsourceCodebanner> |
自定义标题代码 |
|
customheadercodebanner> |
您可以通过包括每个部分的打开和关闭标签之间的令牌和注释来自定义横幅。令牌被替换为生成的代码中的值。以下规则适用于CGT文件中的令牌:
每行只能有一个令牌。
标记值不能包含用于格式化的“\t”。
笔记
在你的横幅的内容中,C注释指示器,'/*'或'*/',可能会在生成的代码中引入错误。
一个开放标签包括标记属性。用双引号括起属性的值。可用于打开标签的属性是:
宽度
:指定生成代码中文件或函数标题注释的宽度。缺省值是80。
风格
:指定生成代码中的文件或函数标题注释的边界。
打开标签语法是:
<OpenTag
风格=“样式值”
宽度=“数字宽度”
>
有五个横幅样式的选择。的评论风格
和targetlang.
配置对象属性决定使用C或C++注释风格。的内置样式选项风格
属性是:
经典
使用C风格的注释
/*单行注释* / / * *多行评论*第二线*/
使用C ++样式评论
//单行注释// //多行评论//第二线//
盒子
使用C风格的注释
/**********************************************************/ /*横幅内容*/ /**********************************************************/
使用C ++样式评论
//////////////////////////////////////////////////////////// //横幅内容// ////////////////////////////////////////////////////////////
open_box
使用C风格的注释
/********************************************************** *横幅内容**********************************************************/
使用C ++样式评论
//////////////////////////////////////////////////////////// //横幅内容////////////////////////////////////////////////////////////
doxygen.
使用C风格的注释
/**单行注释* / / ** *多行评论*第二线*/
使用C ++样式评论
///单行注释/// ///多行评论///第二线///
doxygen_qt
使用C风格的注释
/ * !单行注释* / / * !*多行评论*第二线*/
使用C ++样式评论
/ / !单行注释/ / !//!多行评论/ / !第二线/ / !
本节包含注释和令牌,用于生成在生成的C和C ++代码之前的自定义文件横幅。如果从CGT文件中省略文件横幅部分,则代码生成器不会在生成的代码中生成文件横幅。默认CGT文件中提供的文件横幅部分是:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%自定义文件标题部分(可选)%%使用自定义标记或以下%%预定义标记自定义文件标题:%%,%% ,%% ,%% ,%% ,%% %%%%您还可以在以下所有部分中使用“自定义令牌”。有关详细信息,请参见%%文档中心%% 文件:%% MATLAB编码器版本:%% C/C++源代码生成日期:%%
文件横幅生成令牌摘要
|
生成文件的名称(例如, |
|
生成文件的时间戳 |
|
版本MATLAB编码器™ |
|
嵌入式编码器的版本® |
|
选定目标 |
|
输出类型(例如,lib、exe或dll) |
本节包含注释和标记,用于在生成的C或c++函数之前生成自定义函数横幅。如果您从CGT文件中省略了函数横幅部分,则代码生成器不会生成函数横幅。默认的CGT文件中提供的函数banner部分是:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%自定义函数标题部分(可选)%%使用以下预定义标记自定义函数标题:%%,%% ,%% %% ,%% %% %% %% 参数:%% 返回类型:%%
用于生成功能横幅的令牌摘要
|
函数的名字 |
|
关于函数的简短摘要 如果配置参数 |
|
MATLAB函数原型 仅当 |
|
函数参数列表 |
|
函数返回类型 |
本节包含注释和标记,用于生成自定义共享实用程序函数横幅,该横幅在生成的C或C ++共享实用程序函数之前。如果从CGT文件中省略共享实用程序函数横幅部分,则代码生成器不会生成共享实用程序函数横幅。默认CGT文件中提供的共享实用程序函数横幅部分是:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%自定义共享实用程序功能横幅部分(可选)%%使用以下%%预定义标记自定义共享实用程序功能横幅:%%,%% %% ,%% %% 参数:%% 返回类型:%%
共享效用函数横幅生成代币摘要
|
函数的名字 |
|
关于函数的简短摘要 |
|
函数参数列表 |
|
函数返回类型 |
“文件预告片”部分包含用于生成自定义文件预告片的注释,这些预告片遵循生成的C或C ++代码。如果从CGT文件中省略文件预告片部分,则代码生成器不会生成文件预告片。默认CGT文件中提供的文件预告片部分是:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% 自定义文件拖车部分(可选)% %您可以使用任何预定义的标记用于文件的横幅% % < FileTrailer风格=“经典”>文件拖车% <文件名> (EOF) < / FileTrailer >
文件标题的标记可用于文件拖车。看见文件横幅生成令牌摘要.
include文件横幅部分包含用于生成自定义横幅的注释,该横幅位于生成代码中的include文件部分之前。如果您从CGT文件中省略include文件横幅部分,代码生成器将不会为该部分生成横幅。默认CGT文件中提供的include文件横幅部分是:
包含文件 injectefileSbaner>
类型定义横幅部分包含用于在生成的代码中的类型定义部分之前生成自定义横幅的注释。如果您从CGT文件中省略了类型定义横幅部分,则代码生成器不会为该部分生成横幅。默认CGT文件中提供的类型定义横幅部分是:
类型定义 typedefinitionsbanner>
命名常量标题部分包含用于在生成的代码中命名常量部分之前生成自定义标题的注释。如果从CGT文件中省略命名常量标题部分,则代码生成器不会为此部分生成标题。默认CGT文件中提供的命名常量标题部分为:
命名常量
变量声明横幅部分包含用于生成自定义横幅的注释,该横幅位于生成代码中的变量声明部分之前。如果从CGT文件中省略变量声明横幅部分,则代码生成器不会为该部分生成横幅。默认CGT文件中提供的变量声明横幅部分是:
. .
变量定义横幅部分包含用于在生成的代码中的变量定义部分之前生成自定义横幅的注释。如果您从CGT文件中省略变量定义横幅部分,则代码生成器不会为该部分生成横幅。默认CGT文件中提供的变量定义横幅部分是:
变量定义
函数声明横幅部分包含用于生成自定义横幅的注释,该横幅在生成的代码中的“函数声明”部分之前。如果省略CGT文件的函数声明横幅部分,则代码生成器不会为此部分生成横幅。默认CGT文件中提供的函数声明横幅部分是:
函数定义横幅部分包含用于生成自定义横幅的注释,该横幅在生成的代码中的函数定义部分之前。如果从CGT文件中省略函数定义横幅部分,则代码生成器不会为此部分生成横幅。默认CGT文件中提供的函数定义横幅部分是:
函数定义 functiondefinitionsbanner>
自定义源代码横幅部分包含用于生成生成代码中自定义源代码部分之前的自定义横幅的注释。如果您从CGT文件中省略了自定义源代码横幅部分,则代码生成器不会为该部分生成横幅。在默认的CGT文件中提供的自定义源代码横幅部分是:
自定义源代码
自定义头代码横幅部分包含用于生成自定义横幅的注释,该自定义横幅位于生成代码中的自定义头代码部分之前。如果您从CGT文件中省略了自定义头代码横幅部分,则代码生成器不会为该部分生成横幅。在默认的CGT文件中提供的自定义头代码横幅部分是:
自定义头码