Файл шаблона генерации кода (CGT) задает разделы в сгенерированном коде, что можно настроить комментарии использования и лексемы. Используя файл шаблона генерации кода (CGT) для генерации C и Кода С++ из кода MATLAB®, можно задать пользовательские баннеры файла и функциональные баннеры для сгенерированного кода. Баннеры файла являются разделами комментария в заголовке и разделами трейлера сгенерированного файла. Функциональные баннеры являются разделами комментария для каждой функции в сгенерированном коде. Можно также настроить комментарии перед секциями кода. Используйте эти баннеры для:
Добавьте оператор авторского права компании.
Задайте символ специальной версии для своей системы управления конфигурацией.
Удалите метки времени.
Добавьте другую пользовательскую информацию в свои сгенерированные файлы.
Для получения информации о создании видят настройка и использование файла CGT, Генерируют Пользовательский Файл и Функциональные Баннеры для Кода C/C++.
Можно основывать пользовательский шаблон на файле 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 или Кодом С++. Если вы не используете раздел трейлера файла из файла 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>
Смотрите также
Похожие темы