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