Файл шаблона генерации кода (CGT) определяет разделы сгенерированного кода, которые можно настроить с помощью комментариев и лексем. Использование файла шаблона генерации кода (CGT) для генерации C и Кода С++ из MATLAB® код, вы можете задать пользовательские файловые баннеры и функциональные баннеры для сгенерированного кода. Баннеры файлов являются разделами комментариев в разделах заголовка и трейлера сгенерированного файла. Функциональные баннеры являются разделами комментариев для каждой функции в сгенерированном коде. Можно также настроить комментарии перед секциями кода. Используйте эти баннеры для:
Добавить оператора об авторских правах компании.
Укажите символ специальной версии для системы управления строением.
Удалите временные метки.
Добавьте другую пользовательскую информацию к сгенерированным файлам.
Для получения информации о создании, настройке и использовании файла CGT смотрите Сгенерировать пользовательские файлы и функциональные баннеры для кода C/C + +.
Вы можете основать свой пользовательский шаблон на файле CGT по умолчанию, matlabcoder_default_template.cgt
, в
папка.matlabroot
/ toolbox/coder/matlabcoder/templates/
Примечание
Если вы не хотите настраивать баннеры для своего сгенерированного кода, шаблон по умолчанию используется для генерации кода.
Файл CGT состоит из 13 необязательных разделов.
Содержит комментарии и лексемы для использования при создании пользовательского баннера файлов.
Содержит комментарии и лексемы для использования при создании пользовательского баннера функций.
Содержит комментарии и лексемы для использования при создании пользовательских баннеров для общих служебных функций.
Содержит комментарии для использования при создании пользовательского баннера трейлера.
Содержит комментарии для использования при создании пользовательского баннера для раздела файлы.
Содержит комментарии для использования при создании пользовательского баннера для раздела определения типов.
Содержит комментарии для использования при создании пользовательского баннера для именованного раздела констант.
Содержит комментарии для использования при создании пользовательского баннера для раздела объявлений переменных.
Содержит комментарии для использования при создании пользовательского баннера для раздела «определений переменных».
Содержит комментарии для использования при создании пользовательского баннера для раздела объявлений функций.
Содержит комментарии для использования при создании пользовательского баннера для раздела определений функций.
Содержит комментарии для использования при создании пользовательского баннера для пользовательской исходной секции кода.
Содержит комментарии для использования при создании пользовательского баннера для секции кода заголовка.
Каждый раздел файла 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>
Сводные данные лексем для генерации баннеров файлов
| Имя сгенерированного файла (для примера, |
| Временная метка сгенерированного файла |
| Версия MATLAB Coder™ |
| Версия Embedded Coder® |
| Выбранная цель |
| Тип выхода (для примера, 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>
Сводные данные лексем для генерации функционального баннера
| Имя функции |
| Краткий абстракт о функции Если параметр конфигурации |
|
Прототип функции MATLAB Прототип функции появляется в баннере функции только в том случае, если |
| Список аргументов функции |
| Возвращаемый тип функции |
Этот раздел содержит комментарии и лексемы для использования при генерации пользовательского баннера общей служебной функции, который предшествует сгенерированной служебной функции 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>
Сводные данные лексем для генерации баннера общих служебных функций
| Имя функции |
| Краткий абстракт о функции |
| Список аргументов функции |
| Возвращаемый тип функции |
Раздел трейлера файлов содержит комментарии для генерации пользовательского трейлера файлов, следующего за сгенерированным кодом 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>