主要内容

代码生成模板文件MATLAB代码

代码生成模板(CGT)文件定义了生成的代码中的部分,您可以使用注释和令牌自定义这些部分。使用代码生成模板(CGT)文件从MATLAB生成C和c++代码®代码,您可以为生成的代码指定自定义文件标题和函数标题。文件横幅是生成文件的头和尾部分中的注释部分。函数条是生成代码中每个函数的注释部分。您还可以在代码段之前自定义注释。使用这些横幅:

  • 添加公司版权声明。

  • 为配置管理系统指定一个特殊的版本符号。

  • 删除时间戳。

  • 向生成的文件中添加其他自定义信息。

有关创建、自定义和使用CGT文件的信息,请参见为C/ c++代码生成自定义文件和函数横幅

缺省CGT文件

您可以根据默认的CGT文件创建自定义模板,matlabcoder_default_template.cgt,在matlabroot/ /工具箱/编码器/ matlabcoder /模板文件夹中。

请注意

如果选择不为生成的代码定制横幅,则将使用默认模板生成代码。

CGT文件结构

CGT文件由13个可选部分组成。

文件横幅部分

包含用于生成自定义文件横幅的注释和标记。

功能横幅部分

包含用于生成自定义函数横幅的注释和标记。

共享实用功能横幅

包含用于为共享实用程序函数生成自定义横幅的注释和标记。

档案拖车组

包含用于生成自定义预告片横幅的注释。

包含文件横幅

包含用于为“包含文件”部分生成自定义横幅的注释。

类型定义

包含用于为类型定义节生成自定义横幅的注释。

命名常量

包含用于为命名常量节生成自定义横幅的注释。

变量声明

包含用于为变量声明部分生成自定义横幅的注释。

变量定义

包含用于为变量定义部分生成自定义横幅的注释。

函数声明

包含用于为函数声明部分生成自定义横幅的注释。

函数定义

包含用于为函数定义部分生成自定义横幅的注释。

自定义源代码

包含用于为自定义源代码部分生成自定义横幅的注释。

自定义报头代码

包含用于为自定义标题代码节生成自定义横幅的注释。

CGT文件部分的组成部分

每个CGT文件节都由打开和关闭标记定义。

CGT档案组 开放标签 结束标记
文件横幅 < FileBanner > < / FileBanner >
功能横幅部分 < FunctionBanner > < / FunctionBanner >
共享实用功能横幅 < SharedUtilityBanner > < / SharedUtilityBanner >
档案拖车组 < FileTrailer > < / FileTrailer >
包含文件横幅 < IncludeFilesBanner > < / IncludeFilesBanner >
类型定义 < TypeDefinitionsBanner > < / TypeDefinitionsBanner >
命名常量 < NamedConstantsBanner > < / NamedConstantsBanner >
变量声明 < VariableDeclarationsBanner > < / VariableDeclarationsBanner >
变量定义 < VariableDefinitionsBanner > < / VariableDefinitionsBanner >
函数声明 < FunctionDeclarationsBanner > < / FunctionDeclarationsBanner >
函数定义 < FunctionDefinitionsBanner > < / FunctionDefinitionsBanner >
自定义源代码 < CustomSourceCodeBanner > < / CustomSourceCodeBanner >
自定义报头代码 < CustomHeaderCodeBanner > < / CustomHeaderCodeBanner >

您可以通过在每个部分的开始和结束标记之间包含标记和注释来定制您的横幅。令牌在生成的代码中被替换为值。以下规则适用于CGT文件中的令牌:

  • 每行只能有一个令牌。

  • 令牌值不能包含用于格式化的“\t”。

请注意

在横幅的内容中,C注释指示符'/*'或'*/'可能会在生成的代码中引入错误。

打开标记包括标记属性。属性的值用双引号括起来。打开标记可用的属性有:

  • 宽度:指定生成代码中文件或函数标题注释的宽度。默认值为80。

  • 风格:指定生成代码中文件或函数标题注释的边界。

打开标记的语法是:

<OpenTag风格=“style_value”宽度=“num_width”>

banner样式有五个选项。的CommentStyle而且TargetLang配置对象属性决定使用C或c++的注释样式。属性的内置样式选项风格属性是:

  • 经典

    使用C风格注释

    /*单行注释*/ /* *多行注释第二行* /

    使用c++风格的注释

    //单行注释// //多行注释//第二行//

  • 盒子

    使用C风格注释

    /**********************************************************/ /*横幅的内容*/ /**********************************************************/

    使用c++风格的注释

    //////////////////////////////////////////////////////////// //横幅的内容// ////////////////////////////////////////////////////////////

  • open_box

    使用C风格注释

    /********************************************************** *横幅的内容**********************************************************/

    使用c++风格的注释

    //////////////////////////////////////////////////////////// //横幅的内容////////////////////////////////////////////////////////////

  • doxygen

    使用C风格注释

    /**单行注释*/ /** *多行注释第二行* /

    使用c++风格的注释

    ///单行注释/// ///多行注释///第二行///

  • doxygen_qt

    使用C风格注释

    / * !单行注释* / / * !*多行注释第二行* /

    使用c++风格的注释

    / / !单行注释/ / !/ / !多行注释/ / !第二行/ / !

文件横幅

此部分包含用于在生成的C和c++代码之前生成自定义文件横幅的注释和令牌。如果从CGT文件中省略文件横幅部分,代码生成器不会在生成的代码中生成文件横幅。默认CGT文件中提供的文件横幅部分是:

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%自定义文件横幅部分(可选)%%通过使用自定义令牌或以下%%预定义令牌自定义文件横幅:%%% , %, % %%%% , %, % %%%%您也可以在以下所有部分中使用“自定义令牌”。有关更多详细信息,请参阅%%文档中心。%%  File: % MATLABCoder version: % C/ c++源代码生成上:% 

文件横幅生成令牌摘要

文件名

生成的文件名称(例如:“kalman.c”

SourceGeneratedOn

生成文件的时间戳

MATLABCoderVersion

版本的MATLAB编码器™

EmbeddedCoderVersion

嵌入式编码器的版本®

HardwareSelection

选定目标

OutputType

输出类型(例如,lib、exe或dll)

函数的旗帜

此部分包含用于在生成的C或c++函数之前生成自定义函数横幅的注释和标记。如果从CGT文件中省略函数横幅部分,则代码生成器不会生成函数横幅。默认CGT文件中提供的函数横幅部分是:

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%自定义函数横幅部分(可选)%%通过使用以下预定义令牌自定义函数横幅:%%% , %, % %%%% , % %%  % %参数:%返回类型:% 

函数横幅生成令牌摘要

FunctionName

函数名称

FunctionDescription

关于函数的简短摘要

如果配置参数MATLABFcnDesc真正的时,功能说明出现在功能横幅中。否则,代码生成器将函数描述视为用户注释。

FunctionPrototype

MATLAB函数原型

函数原型仅在函数横幅中出现MATLABSourceComments配置参数为真正的

参数

函数参数列表

ReturnType

函数的返回类型

共享公用事业横幅

此部分包含用于在生成的C或c++共享实用程序函数之前生成自定义共享实用程序函数横幅的注释和令牌。如果从CGT文件中省略了共享实用程序函数横幅部分,代码生成器将不会生成共享实用程序函数横幅。默认CGT文件中提供的共享实用程序函数横幅部分是:

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%自定义共享实用功能横幅部分(可选)%%通过使用以下%%预定义令牌自定义共享实用功能横幅:%%% , % %%%% , % %% 参数:%返回类型:% 

共享实用功能横幅生成令牌摘要

FunctionName

函数名称

FunctionDescription

关于函数的简短摘要

参数

函数参数列表

ReturnType

函数的返回类型

文件的预告片

文件预告部分包含用于在生成的C或c++代码之后生成自定义文件预告的注释。如果从CGT文件中省略了文件预告部分,代码生成器将不会生成文件预告。默认CGT文件中提供的文件拖车部分是:

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% 自定义文件拖车部分(可选)% %您可以使用任何预定义的标记用于文件的横幅% % < FileTrailer风格=“经典”>文件拖车% <文件名> (EOF) < / FileTrailer >

文件横幅的令牌可用于文件预告片。看到文件横幅生成令牌摘要

包含文件横幅

包含文件横幅部分包含用于在生成的代码中的包含文件部分之前生成自定义横幅的注释。如果从CGT文件中省略了包含文件横幅节,代码生成器不会为此节生成横幅。默认CGT文件中提供的包含文件横幅部分是:

 IncludeFiles 

类型定义

类型定义横幅节包含用于在生成的代码中的类型定义节之前生成自定义横幅的注释。如果从CGT文件中省略类型定义横幅节,代码生成器不会为此节生成横幅。默认CGT文件中提供的类型定义横幅部分是:

 TypeDefinitionsBanner

Named Constants Banner

命名常量横幅部分包含用于在生成的代码中命名常量部分之前生成自定义横幅的注释。如果从CGT文件中省略了命名常量横幅节,代码生成器不会为此节生成横幅。默认CGT文件中提供的命名常量横幅部分是:

 NamedConstants 

变量声明

变量声明横幅部分包含用于在生成的代码中的变量声明部分之前生成自定义横幅的注释。如果从CGT文件中省略变量声明横幅部分,代码生成器不会为此部分生成横幅。默认CGT文件中提供的变量声明横幅部分是:

变量声明

变量定义

变量定义横幅部分包含用于在生成的代码中的变量定义部分之前生成自定义横幅的注释。如果从CGT文件中省略变量定义横幅节,代码生成器不会为此节生成横幅。默认CGT文件中提供的变量定义横幅部分是:

变量定义

函数声明

函数声明横幅部分包含用于在生成的代码中的函数声明部分之前生成自定义横幅的注释。如果从CGT文件中省略函数声明横幅节,代码生成器不会为此节生成横幅。默认CGT文件中提供的函数声明横幅部分是:

函数声明 .

函数定义

函数定义横幅部分包含用于在生成的代码中的函数定义部分之前生成自定义横幅的注释。如果从CGT文件中省略函数定义横幅节,代码生成器不会为此节生成横幅。默认CGT文件中提供的函数定义横幅部分是:

自定义源代码

自定义源代码横幅部分包含用于在生成的代码中的自定义源代码部分之前生成自定义横幅的注释。如果从CGT文件中省略了自定义源代码横幅部分,则代码生成器不会为此部分生成横幅。默认CGT文件中提供的自定义源代码横幅部分是:

自定义源代码

自定义报头代码

自定义头码横幅节包含用于生成自定义横幅的注释,该注释位于所生成代码中的自定义头码节之前。如果从CGT文件中省略了自定义标题代码横幅部分,代码生成器不会为此部分生成横幅。缺省CGT文件中提供的自定义头代码横幅部分是:

自定义头码

另请参阅

相关的话题