Файл шаблона генерации кода (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”
>
Существует пять опций для стиля баннера. 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>
Лексемы для баннера файла доступны для трейлера файла. См. Сводные данные Лексем для Генерации Баннера Файла.
Включать раздел баннера файлов содержит комментарии для генерации пользовательского баннера, который предшествует включать разделу файлов в сгенерированном коде. Если вы не используете включать раздел баннера файлов из файла 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>