Файлы шаблона генерации кода для кода MATLAB

Файл шаблона генерации кода (CGT) задает разделы в сгенерированном коде, что можно настроить комментарии использования и лексемы. Используя файл шаблона генерации кода (CGT) для генерации C и Кода С++ из кода MATLAB®, можно задать пользовательские баннеры файла и функциональные баннеры для сгенерированного кода. Баннеры файла являются разделами комментария в заголовке и разделами трейлера сгенерированного файла. Функциональные баннеры являются разделами комментария для каждой функции в сгенерированном коде. Можно также настроить комментарии перед секциями кода. Используйте эти баннеры для:

  • Добавьте оператор авторского права компании.

  • Задайте символ специальной версии для своей системы управления конфигурацией.

  • Удалите метки времени.

  • Добавьте другую пользовательскую информацию в свои сгенерированные файлы.

Для получения информации о создании видят настройка и использование файла CGT, Генерируют Пользовательский Файл и Функциональные Баннеры для Кода C/C++.

Файл CGT по умолчанию

Можно основывать пользовательский шаблон на файле CGT по умолчанию, matlabcoder_default_template.cgt, в matlabroot/toolbox/coder/matlabcoder/templates/ папка.

Примечание

Если вы принимаете решение не настроить баннеры для своего сгенерированного кода, шаблон по умолчанию используется для генерации кода.

Файловая структура 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 комментируют индикаторы, '/*' или '* / ', может ввести ошибку в сгенерированном коде.

Открытый тег включает атрибуты тега. Заключите значение атрибута в двойных кавычках. Атрибуты, доступные для открытого тега:

  • width: задает ширину файла или функциональных комментариев баннера в сгенерированном коде. Значение по умолчанию равняется 80.

  • style: задает контур для файла или функциональных комментариев баннера в сгенерированном коде.

Открытый синтаксис тега:

<OpenTag style = “style_value” width = “num_width”>

Существует пять опций для стиля баннера. CommentStyle и TargetLang свойства объектов настройки определяют использование C или стиля комментария C++. Встроенные параметры стиля для style атрибут:

  • classic

    Используя C разрабатывают комментарии

    /* single line comments */
    
    /*
     * multiple line comments
     * second line
     */

    Используя C++ разрабатывают комментарии

    // single line comments
    
    //
    // multiple line comments
    // second line
    //

  • box

    Используя C разрабатывают комментарии

    /**********************************************************/
    /* banner contents                                        */
    /**********************************************************/

    Используя C++ разрабатывают комментарии

    ////////////////////////////////////////////////////////////
    // banner contents                                        //
    ////////////////////////////////////////////////////////////

  • open_box

    Используя C разрабатывают комментарии

    /**********************************************************
     * banner contents
     **********************************************************/

    Используя C++ разрабатывают комментарии

    ////////////////////////////////////////////////////////////
    // banner contents
    ////////////////////////////////////////////////////////////

  • doxygen

    Используя C разрабатывают комментарии

    /** single line comments */
    
    /**
     * multiple line comments
     * second line
     */

    Используя C++ разрабатывают комментарии

    ///single line comments
    
    ///
    /// multiple line comments
    ///second line
    ///

  • doxygen_qt

    Используя C разрабатывают комментарии

    /*! single line comments */
    
    /*!
     * multiple line comments
     * second line
     */

    Используя C++ разрабатывают комментарии

    //!single line comments
    
    //!
    //! multiple line comments
    //!second line
    //!

Баннер файла

Этот раздел содержит комментарии и лексемы для использования в генерации пользовательского баннера файла, который предшествует сгенерированному C и Коду С++. Если вы не используете раздел баннера файла из файла CGT, генератор кода не генерирует баннер файла в сгенерированном коде. Раздел баннера файла, обеспеченный в файле CGT по умолчанию:

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Custom File Banner section (optional)
%% Customize File banners by using either custom tokens or the following
%% predefined tokens: 
%% %<FileName>, %<MATLABCoderVersion>, %<EmbeddedCoderVersion>
%% %<SourceGeneratedOn>, %<HardwareSelection>, %<OutputType>
%%
%% You can also use "custom tokens" in all of the sections below. See the 
%% documentation center for more details. 
%%
<FileBanner style="classic">
File: %<FileName>

MATLAB Coder version           : %<MATLABCoderVersion>
C/C++ source code generated on : %<SourceGeneratedOn>
</FileBanner>

Сводные данные лексем для генерации баннера файла

FileName

Имя сгенерированного файла (например, "kalman.c")

SourceGeneratedOn

Метка времени сгенерированного файла

MATLABCoderVersion

Версия MATLAB Coder™

EmbeddedCoderVersion

Версия Embedded Coder®

HardwareSelection

Выбранная цель

OutputType

Тип выхода (например, lib, exe, или dll)

Функциональный баннер

Этот раздел содержит комментарии и лексемы для использования в генерации пользовательского функционального баннера, который предшествует сгенерированному C или функции C++. Если вы не используете функциональный раздел баннера из файла CGT, генератор кода не генерирует функциональные баннеры. Функциональный раздел баннера, обеспеченный в файле CGT по умолчанию:

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Custom Function Banner section (optional)
%% Customize function banners by using the following predefined tokens: 
%% %<FunctionName>, %<FunctionDescription>, %<FunctionPrototype>
%% %<Arguments>, %<ReturnType> 
%%
<FunctionBanner style="classic">
%<FunctionPrototype>
%<FunctionDescription>
Arguments    : %<Arguments>
Return Type  : %<ReturnType>
</FunctionBanner>

Сводные данные лексем для функциональной генерации баннера

FunctionName

Имя функции

FunctionDescription

Короткий краткий обзор о функции

Если параметр конфигурации MATLABFcnDesc true, функциональное описание появляется в функциональном баннере. В противном случае генератор кода обрабатывает функциональное описание как комментарии пользователей.

FunctionPrototype

Прототип функции MATLAB

Прототип функции появляется в функциональном баннере только если MATLABSourceComments параметром конфигурации является true.

Arguments

Список аргументов функции

ReturnType

Возвратите тип функции

Разделяемый служебный баннер

Этот раздел содержит комментарии и лексемы для использования в генерации пользовательского разделяемого баннера служебной функции, который предшествует сгенерированному C, или C++ совместно использовал служебную функцию. Если вы не используете разделяемый раздел баннера служебной функции из файла CGT, генератор кода не генерирует совместно использованные баннеры служебной функции. Разделяемый раздел баннера служебной функции, обеспеченный в файле CGT по умолчанию:

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Custom Shared Utility Function Banner section (optional)
%% Customize shared utility function banners by using the following 
%% predefined tokens: 
%% %<FunctionName>, %<FunctionDescription>
%% %<Arguments>, %<ReturnType>
%%
<SharedUtilityBanner style="classic">
Arguments    : %<Arguments>
Return Type  : %<ReturnType> 
</SharedUtilityBanner>

Сводные данные лексем для разделяемой генерации баннера служебной функции

FunctionName

Имя функции

FunctionDescription

Короткий краткий обзор о функции

Arguments

Список аргументов функции

ReturnType

Возвратите тип функции

Трейлер файла

Раздел трейлера файла содержит комментарии для генерации пользовательского трейлера файла, который следует за сгенерированным кодом C or C++. Если вы не используете раздел трейлера файла из файла CGT, генератор кода не генерирует трейлер файла. Раздел трейлера файла, обеспеченный в файле CGT по умолчанию:

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Custom file trailer section (optional)
%% You can use any of the predefined tokens used for File Banner
%%
<FileTrailer style="classic">
File trailer for %<FileName>

[EOF]
</FileTrailer>

Лексемы для баннера файла доступны для трейлера файла. См. Сводные данные Лексем для Генерации Баннера Файла.

Включайте баннер файлов

Включать раздел баннера файлов содержит комментарии для генерации пользовательского баннера, который предшествует включать разделу файлов в сгенерированном коде. Если вы не используете включать раздел баннера файлов из файла CGT, генератор кода не генерирует баннер для этого раздела. Включать раздел баннера файлов, обеспеченный в файле CGT по умолчанию:

<IncludeFilesBanner  style="classic">
Include Files
</IncludeFilesBanner>

Введите баннер определений

Раздел баннера определений типа содержит комментарии для генерации пользовательского баннера, который предшествует разделу определений типа в сгенерированном коде. Если вы не используете раздел баннера определений типа из файла CGT, генератор кода не генерирует баннер для этого раздела. Раздел баннера определений типа, обеспеченный в файле CGT по умолчанию:

<TypeDefinitionsBanner  style="classic">
Type Definitions
</TypeDefinitionsBanner>

Названный баннер констант

Именованный раздел баннера констант содержит комментарии для генерации пользовательского баннера, который предшествует именованному разделу констант в сгенерированном коде. Если вы не используете именованный раздел баннера констант из файла CGT, генератор кода не генерирует баннер для этого раздела. Именованный раздел баннера констант, обеспеченный в файле CGT по умолчанию:

<NamedConstantsBanner  style="classic">
Named Constants
</NamedConstantsBanner>

Объявления переменной

Раздел баннера объявлений переменной содержит комментарии для генерации пользовательского баннера, который предшествует разделу объявлений переменной в сгенерированном коде. Если вы не используете раздел баннера объявлений переменной из файла CGT, генератор кода не генерирует баннер для этого раздела. Раздел баннера объявлений переменной, обеспеченный в файле CGT по умолчанию:

<VariableDeclarationsBanner  style="classic">
Variable Declarations
</VariableDeclarationsBanner>

Определения переменной

Раздел баннера определений переменной содержит комментарии для генерации пользовательского баннера, который предшествует разделу определений переменной в сгенерированном коде. Если вы не используете раздел баннера определений переменной из файла CGT, генератор кода не генерирует баннер для этого раздела. Раздел баннера определений переменной, обеспеченный в файле CGT по умолчанию:

<VariableDefinitionsBanner  style="classic">
Variable Definitions
</VariableDefinitionsBanner>

Объявления функции

Раздел баннера объявлений функции содержит комментарии для генерации пользовательского баннера, который предшествует разделу объявлений функции в сгенерированном коде. Если вы не используете раздел баннера объявлений функции из файла CGT, генератор кода не генерирует баннер для этого раздела. Раздел баннера объявлений функции, обеспеченный в файле CGT по умолчанию:

<functionDeclarationsBanner  style="classic">
Function Declarations
</FunctionDeclarationsBanner>

Функциональные определения

Функциональный раздел баннера определений содержит комментарии для генерации пользовательского баннера, который предшествует функциональному разделу определений в сгенерированном коде. Если вы не используете функциональный раздел баннера определений из файла CGT, генератор кода не генерирует баннер для этого раздела. Функциональный раздел баннера определений, обеспеченный в файле CGT по умолчанию:

<FunctionDefinitionsBanner  style="classic">
Function Definitions
</FunctionDefinitionsBanner>

Пользовательский исходный код

Пользовательский раздел баннера исходного кода содержит комментарии для генерации пользовательского баннера, который предшествует пользовательскому разделу исходного кода в сгенерированном коде. Если вы не используете пользовательский раздел баннера исходного кода из файла CGT, генератор кода не генерирует баннер для этого раздела. Пользовательский раздел баннера исходного кода, обеспеченный в файле CGT по умолчанию:

<CustomSourceCodeBanner  style="classic">
Custom Source Code
</CustomSourceCodeBanner>

Пользовательский код заголовка

Пользовательский раздел баннера заголовка кода содержит комментарии для генерации пользовательского баннера, который предшествует пользовательской секции кода заголовка в сгенерированном коде. Если вы не используете пользовательский раздел баннера заголовка кода из файла CGT, генератор кода не генерирует баннер для этого раздела. Пользовательский раздел баннера заголовка кода, обеспеченный в файле CGT по умолчанию:

<CustomHeaderCodeBanner  style="classic">
Custom Header Code
</CustomHeaderCodeBanner>

Смотрите также

Похожие темы

Для просмотра документации необходимо авторизоваться на сайте