Файлы шаблона генерации кода для кода 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”>

Существуют пять опций стиля баннера. The 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>

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

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

Раздел banner файлов включения содержит комментарии для генерации пользовательского баннера, который предшествует разделу include файлов в сгенерированном коде. Если вы опускаете раздел баннера include files из файла CGT, генератор кода не генерирует баннер для этого раздела. Раздел баннера include files, представленный в файле 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>

См. также

Похожие темы