Инструменты пользовательской обработки файла (CFP) позволяют вам настраивать организацию и форматирование сгенерированного кода. С этими инструментами вы можете:
Сгенерируйте источник (.c
или .cpp
) или заголовок (.h
) файл. Если вы конфигурируете Code interface packaging для модели, чтобы быть Reusable function
или Nonreuseable function
(не C++ class
), можно использовать пользовательский шаблон обработки файла, чтобы управлять как генератор кода:
Испускает код к сгенерированным файлам стандарта---
или model.c
.cpp
и model.h
Производит файлы, которые независимы от типового кодекса
Организуйте сгенерированный код в разделы (те, которые включают, typedef
s, функции, и больше). Ваш шаблон CFP может испустить код (например, функции), директивы (такие как операторы #define
или #include
), или комментарии в каждый раздел.
Сгенерируйте пользовательские баннеры файла (разделы комментария) в запуске и конце файлов сгенерированного кода и пользовательских функциональных баннеров, которые предшествуют функциям в сгенерированном коде.
Сгенерируйте код, чтобы вызвать образцовые функции, такие как
, model_initialize
, и так далее.model_step
Сгенерируйте код, чтобы считать и записать входы и выходы модели.
Сгенерируйте основной программный модуль.
Получите информацию о модели и сгенерированных файлах из модели.
Пользовательские функции обработки файла основаны на следующих взаимосвязанных компонентах:
Файлы шаблона генерации кода (CGT): файл CGT задает организацию верхнего уровня и форматирование сгенерированного кода. Смотрите Файлы Шаблона генерации кода (CGT).
Шаблон API кода: высокоуровневый API Компилятора выходного языка (TLC), который предоставляет функциям, с которыми можно организовать код в именованные разделы и подразделы сгенерированного источника и заголовочных файлов. Шаблон API кода также обеспечивает утилиты, которые возвращают информацию о сгенерированных файлах, генерируют стандартные образцовые вызовы и выполняют другие функции. См. Сводные данные API Шаблона Кода.
Шаблоны пользовательской обработки файла (CFP): шаблон CFP является файлом TLC, который справляется с процессом генерации пользовательского кода. Шаблон CFP собирает код, который будет сгенерирован в буферы. Шаблон CFP также вызывает шаблон API кода, чтобы испустить буферизированный код в заданные разделы сгенерированного источника и заголовочных файлов. Шаблон CFP взаимодействует с файлом CGT, который задает упорядоченное расположение главных разделов сгенерированного кода. Смотрите Шаблоны Пользовательской обработки файла (CFP).
Чтобы использовать шаблоны CFP, необходимо понять, что программирование TLC, для получения дополнительной информации, видит Компилятор Выходного языка (Simulink Coder).
Настройте сгенерированный код путем определения кода и шаблонов данных на панели Code Generation > Templates:
Цель | Действие |
---|---|
Задайте шаблон, который задает организацию верхнего уровня и форматирование сгенерированного исходного кода (.c или .cpp ) файлы | Введите файл шаблона генерации кода (CGT) для параметра Source file (*.c) template. |
Задайте шаблон, который задает организацию верхнего уровня и форматирование сгенерированного заголовка (.h ) файлы | Введите файл CGT для Заголовочного файла (*.h) параметр шаблона. Этот файл шаблона может быть тем же файлом шаблона, который вы задаете для Source file (.c) template. Если вы используете тот же файл шаблона, исходные и заголовочные файлы содержат идентичные баннеры. Шаблоном по умолчанию является . |
Задайте шаблон, который организует сгенерированный код в разделы (те, которые включают, typedefs , функции, и больше), | Введите файл шаблона пользовательской обработки файла (CFP) для параметра шаблона настройки Файла. Шаблон CFP может испустить код, директивы или комментарии в каждый раздел. Для получения дополнительной информации смотрите Шаблоны Пользовательской обработки файла (CFP). |
Сгенерируйте образцово-специфичный пример основной программный модуль | Выберите Generate an example main program. Для получения дополнительной информации смотрите, Генерируют Автономную Программу. |
Поместите файлы шаблона, которые вы задаете на пути MATLAB®.