Template Symbol Groups и Символы Шаблона описывают символы шаблона пользовательской обработки файла (CFP) и правила для использования их. Местоположение символа в одном из предоставленных файлов шаблона (code_c_template.cgt
, code_h_template.cgt
, data_c_template.cgt
, или data_h_template.cgt
) определяет, где элементы, сопоставленные с тем символом, расположены в соответствующем сгенерированном файле. Template Symbol Groups идентифицирует группы символов, начиная с родительской (“Основной”) группы, сопровождаемой дочерними элементами каждого родительского элемента. Обработайте списки Символов по шаблону символы в алфавитном порядке.
Если вы используете пользовательские разделы CGT для файлов, сгенерированных к _sharedutils
папка, можно только использовать имена символа в группе Основного символа.
Группа символов | Имена символа в этой группе |
---|---|
Основа (Родительские элементы) |
|
Объявления |
|
Задает |
|
Определения |
|
Документация |
|
| |
Функции |
|
Типы | Этот родительский элемент не имеет никаких дочерних элементов. |
Имя символа* | Группа символов | Осциллограф символа | Описание символа (Что символ вставляет сгенерированный файл), |
---|---|---|---|
| Документация | Нет данных | Предоставленное пользователями описание модели или файла. Помещенный в сгенерированный файл на основе примечания Stateflow®, аннотации Simulink® или DocBlock на модели. ** |
| Документация | Нет данных | Комментарии, расположенные около верхней части файла. Содержит информацию, которая включает версии модели и программного обеспечения, и файл даты был сгенерирован. |
| Функции | Файл | Функции C/C++. Должен быть в нижней части шаблона. |
| Документация | Нет данных | Дата, когда модель была создана. От поля Created on на диалоговом окне Model Properties. |
| Документация | Нет данных | Пользователь, который создал модель. От поля Created by на диалоговом окне Model Properties. |
| Документация | Нет данных | Файл даты был сгенерирован. Взятый из компьютерных часов. |
| Основа | Объявление данных сигнала или параметра. Например, | |
| Основа | Файл | Необходимый |
| Основа | Файл | Определения данных сигналов или параметров. |
| Документация | Нет данных | Описание модели. От поля Model description на диалоговом окне Model Properties. ** |
| Основа | Нет данных | Комментарии о том, как интерпретировать сгенерированные файлы. |
| Основа | Файл | Перечислимые определения типов. |
| Объявления | Внешний | *** |
| Объявления | Внешний | *** |
| Объявления | Внешний | *** |
| Объявления | Внешний | *** |
| Документация | Нет данных | Имя сгенерированного файла. |
| Определения | Файл | *** |
| Определения | Файл | *** |
| Определения | Файл | *** |
| Определения | Файл | *** |
| Основа | Файл | Сгенерированный функциональный код. |
| Определения | Глобальная переменная | *** |
| Определения | Глобальная переменная | *** |
| Определения | Глобальная переменная | *** |
| Определения | Глобальная переменная | *** |
| Документация | Нет данных | Предоставленная пользователями история версии сгенерированных файлов. Помещенный в сгенерированный файл на основе примечания к Stateflow, аннотации Simulink или DocBlock на модели. ** |
| Основа | Файл |
|
| Документация | Нет данных | Дата, когда модель была в последний раз сохранена. От поля Last saved on на диалоговом окне Model Properties. |
| Документация | Нет данных | Пользователь, кто продержался сохраненную модель. От поля Last saved by на диалоговом окне Model Properties. |
| Задает | Файл |
|
| Задает | Файл | Макросы C/C++, локальные для файла. |
| Документация | Нет данных | Имя модели. |
| Документация | Нет данных | Номер, постепенно увеличенный к 1 каждому разу, вы сохраняете модель. |
| Документация | Нет данных | Имя пользователя, кто продержался, изменило модель. |
| Документация | Нет данных | Предоставленное пользователями разное отмечает о модели или сгенерированных файлах. Помещенный в сгенерированный файл на основе примечания к Stateflow, аннотации Simulink или DocBlock на модели. ** |
| Документация | Нет данных | Список версий тулбоксов, используемых в генерации кода. |
| Основа | Типы данных сгенерированного кода. |
* имена Символа должны быть заключены между %< >
. Например, %<Functions>
.
** Этот символ может использоваться, чтобы добавить комментарий в сгенерированные файлы. Смотрите Добавляют Глобальные Комментарии в Сгенерированном коде. Генератор кода помещает комментарий в каждый сгенерированный файл, шаблон которого имеет это имя символа. Генератор кода помещает комментарий в местоположении, которое соответствует туда, где имя символа расположено в файле шаблона.
*** Описание может быть выведено из имени символа. Например, GlobalCalibrationScalar
символ, который идентифицирует скаляр. Это содержит данные глобальной области видимости, которую можно калибровать.
Следующее является правилами для создания шаблона MPF. Сравнение Шаблона и Его Сгенерированного Файла иллюстрирует несколько из этих правил.
Поместите символ на шаблон в the %< >
разделитель. Например, символ под названием 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 должен иметь все Основные символы группы в предопределенном порядке. Они перечислены в Template Symbol Groups. Каждый символ в Основной группе является родительским элементом. Например, Declarations
родительский символ.
Каждый символ в неосновной группе является дочерним элементом. Например, LocalMacros
дочерний элемент.
За исключением дочерних элементов Документации, дочерние элементы должны быть размещены после их родительского элемента перед следующим родительским элементом, и перед Functions
символ.
Дочерние элементы документации могут быть расположены прежде или после их родительского элемента в любом порядке где угодно в шаблоне.
Если дочерний элемент недокументации отсутствует в шаблоне, генератор кода помещает информацию, сопоставленную с этим дочерним элементом в ее родительском местоположении в сгенерированном файле.
Если дочерний элемент Документации отсутствует в шаблоне, генератор кода не использует информацию, сопоставленную с тем дочерним элементом из сгенерированного файла.
[1] ANSI является зарегистрированной торговой маркой American National Standards Institute, Inc.