Группы шаблонов символов и символы шаблонов описывают пользовательские символы шаблона обработки файлов (CFP) и правила их использования. Расположение символа в одном из предоставленных файлов шаблона (code_c_template.cgt
, code_h_template.cgt
, data_c_template.cgt
, или data_h_template.cgt
) определяет, где элементы, связанные с этим символом, расположены в соответствующем сгенерированном файле. Template Symbol Group определяет группы символов, начиная с родительской («Base») группы, за которой следуют дочерние элементы каждого родительского элемента. В шаблоне» перечислены символы в алфавитном порядке.
Примечание
Если вы используете пользовательские разделы CGT, для файлов, сгенерированных в _sharedutils
папка, можно использовать только имена символов в группе базовых символов.
Группа символов | Имена символов в этой группе |
---|---|
Основа ( родительские элементы) |
|
Декларации |
|
Определяет |
|
Определения |
|
Документация |
|
| |
Функции |
|
Типы | У этот родительский элемент нет дочерних элементов. |
Имя символа * | Группа символов | Символы Возможностей | Описание символа (Что символ помещает в сгенерированный файл) |
---|---|---|---|
| Документация | Н/Д | Предоставленное пользователем описание модели или файла. Помещается в сгенерированный файл на основе Stateflow® примечание, Simulink® аннотация, или DocBlock на модели. * * |
| Документация | Н/Д | Комментарии, расположенные в верхней части файла. Содержит информацию, которая включает версии модели и программного обеспечения, и файл даты был сгенерирован. |
| Функции | Файл | Функции C/C + +. Должно находиться в нижней части шаблона. |
| Документация | Н/Д | Дата создания модели. Из Created on поля в диалоговом окне Свойства модели (Model Properties). |
| Документация | Н/Д | Пользователь, создавший модель. Из Created by поля в диалоговом окне Свойства модели (Model Properties). |
| Документация | Н/Д | Файл даты был сгенерирован. Взят из компьютерных часов. |
| Основа | Объявление данных сигнала или параметра. Для примера, | |
| Основа | Файл | Требуемая |
| Основа | Файл | Определения данных сигналов или параметров. |
| Документация | Н/Д | Описание модели. Из Model description поля в диалоговом окне Свойства. * * |
| Основа | Н/Д | Комментарии о том, как интерпретировать сгенерированные файлы. |
| Основа | Файл | Перечисленные определения типов данных. |
| Декларации | Внешний | *** |
| Декларации | Внешний | *** |
| Декларации | Внешний | *** |
| Декларации | Внешний | *** |
| Документация | Н/Д | Имя сгенерированного файла. |
| Определения | Файл | *** |
| Определения | Файл | *** |
| Определения | Файл | *** |
| Определения | Файл | *** |
| Основа | Файл | Сгенерированный код функции. |
| Определения | Глобальный | *** |
| Определения | Глобальный | *** |
| Определения | Глобальный | *** |
| Определения | Глобальный | *** |
| Документация | Н/Д | Предоставленная пользователем история ревизий сгенерированных файлов. Помещается в сгенерированный файл на основе заметки Stateflow, аннотации Simulink или DocBlock на модели. * * |
| Основа | Файл |
|
| Документация | Н/Д | Дата последнего сохранения модели. Из Last saved on поля в диалоговом окне Свойства модели (Model Properties). |
| Документация | Н/Д | Пользователь, который последний сохранял модель. Из Last saved by поля в диалоговом окне Свойства модели (Model Properties). |
| Определяет | Файл |
|
| Определяет | Файл | Макросы C/C + +, локальные к файлу. |
| Документация | Н/Д | Имя модели. |
| Документация | Н/Д | Число, увеличенное на 1 каждый раз, когда вы сохраняете модель. |
| Документация | Н/Д | Имя пользователя, который в последний раз изменил модель. |
| Документация | Н/Д | Пользовательские различные примечания о модели или сгенерированных файлах. Помещается в сгенерированный файл на основе заметки Stateflow, аннотации Simulink или DocBlock на модели. * * |
| Документация | Н/Д | Список версий тулбоксов, используемых при генерации кода. |
| Основа | Типы данных сгенерированного кода. |
* Имена символов должны быть заключены между %< >
. Для примера, %<Functions>
.
* * Этот символ можно использовать, чтобы добавить комментарий к сгенерированным файлам. См. раздел Добавление глобальных комментариев в сгенерированный код. Генератор кода помещает комментарий в каждый сгенерированный файл, шаблон которого имеет это имя символа. Генератор кода помещает комментарий в место, которое соответствует месту расположения имени символа в файле шаблона.
* * * Описание можно вывести из имени символа. Для примера, GlobalCalibrationScalar
является символом, который идентифицирует скаляр. Он содержит данные глобальным возможностям, которую можно калибровать.
Ниже приведены правила создания шаблона MPF. Сравнение шаблона и его сгенерированного файла иллюстрирует несколько из этих правил.
Поместите символ на шаблон в %< >
разделитель. Например, символ с именем Includes
должен выглядеть так на шаблоне: %<Includes>
. Обратите внимание, что имена символов чувствительны к регистру.
Поместите символ на шаблон там, где это необходимо. Его расположение на шаблоне определяет, где элемент, сопоставленный с этим символом, расположен в сгенерированном файле. Если с ним не связан элемент, символ игнорируется.
Поместите оператор C/C + + за пределы %< >
разделитель, и на другой линии, чем %< >
разделитель, чтобы этот оператор появился в сгенерированном файле. Для примера, #pragma message ("my text")
в шаблоне результаты в #pragma message ("my text")
в соответствующем расположении в сгенерированном файле. Обратите внимание, что оператор должен быть совместим с вашим компилятором C/C + +.
Используйте .cgt
расширение для каждого имени файла шаблона. (» cgt
"обозначает шаблон генерации кода.)
Обратите внимание, что %% $Revision: 1.1.4.10.4.1 $
появляется в верхней части шаблонов MathWorks. Это предназначено только для внутреннего использования MathWorks. Он не должен помещаться в пользовательский шаблон и не отображается в сгенерированном файле.
Разместите комментарий к шаблону между /* */
как в стандартном ANSI® C[1] . Это приводит к /*comment*/
в сгенерированном файле.
Каждый шаблон MPF должен иметь все символы базовой группы в предопределенном порядке. Они перечислены в разделе «Группы символов шаблона». Каждый символ в группе База является родительским элементом. Для примера, Declarations
является родительским символом.
Каждый символ в группе, отличной от Base, является дочерним. Для примера, LocalMacros
является ребенком.
Кроме детей Documentation, дети должны быть помещены после их родительского элемента, до следующего родительского элемента и до Functions
символ.
Дочерние элементы документации могут располагаться до или после их родительского элемента в любом порядке в любом месте шаблона.
Если в шаблоне отсутствует дочерний элемент, не относящийся к документации, генератор кода помещает информацию, связанную с этим дочерним элементом, в родительское место в сгенерированном файле.
Если в шаблоне отсутствует дочерний элемент Documentation, генератор кода опускает информацию, связанную с этим дочерним элементом, из сгенерированного файла.
[1] ANSI является зарегистрированным товарным знаком Американского национального института стандартов, Inc.