Настройка организации и формата кода

Пользовательские инструменты обработки файлов (CFP) позволяют настраивать организацию и форматирование сгенерированного кода. С помощью этих инструментов можно:

  • Сгенерируйте источник (.c или .cpp) или заголовок (.h) файл. Если вы конфигурируете Code interface packaging для модели, чтобы она была Reusable function или Nonreuseable function (не C++ class), можно использовать пользовательский шаблон обработки файлов, чтобы управлять тем, как генератор кода:

    • Излучает код в стандартные сгенерированные файлы --- model.c или .cpp и model.h

    • Создает файлы, которые не зависят от кода модели

  • Организуйте сгенерированный код в разделы (такие как includes, typedefs, функции и многое другое). Ваш шаблон CFP может эмитировать код (для примера, функций), директивы (такие как #define или #include операторы) или комментарии к каждому разделу.

  • Сгенерируйте пользовательские файловые баннеры (разделы с комментариями) в начале и конце сгенерированных файлов кода и пользовательские функциональные баннеры, которые предшествуют функциям в сгенерированном коде.

  • Сгенерируйте код для вызова функций модели, таких как model_initialize, model_stepи так далее.

  • Сгенерируйте код для чтения и записи входных входов и выходов модели.

  • Сгенерируйте основной программный модуль.

  • Получите информацию о модели и сгенерированных файлах из модели.

Пользовательские компоненты обработки файлов

Пользовательские функции обработки файлов основаны на следующих взаимосвязанных компонентах:

  • Файлы шаблона генерации кода (CGT): файл CGT определяет организацию верхнего уровня и форматирование сгенерированного кода. См. файлы шаблона генерации кода (CGT).

  • Шаблон кода API: высокоуровневый Target Language Compiler (TLC) API, который обеспечивает функции, с помощью которых можно организовывать код в именованные разделы и подсекции сгенерированных исходных и заголовочных файлов. Шаблон кода API также предоставляет утилиты, которые возвращают информацию о сгенерированных файлах, генерируют стандартные вызовы модели и выполняют другие функции. Смотрите Сводные данные API шаблона кода.

  • Пользовательские шаблоны обработки файлов (CFP): шаблон CFP является TLC-файлом, который управляет процессом генерации пользовательского кода. Шаблон CFP собирает код, который будет сгенерирован в буферы. Шаблон CFP также вызывает API шаблона кода, чтобы эмитировать буферизованный код в определенные разделы сгенерированных исходных и заголовочных файлов. Шаблон CFP взаимодействует с файлом CGT, который определяет упорядоченное расположение основных разделов сгенерированного кода. См. шаблоны пользовательской обработки файлов (CFP).

Чтобы использовать шаблоны CFP, вы должны понять программирование TLC, для получения дополнительной информации смотрите Target Language Compiler.

Настраиваемые Строения обработки файлов

Настройте сгенерированный код путем определения кода и шаблонов данных на панели Code Generation > Templates:

ЦельДействие
Укажите шаблон, который определяет организацию верхнего уровня и форматирование сгенерированного исходного кода (.c или .cpp) файлы Введите файл шаблона генерации кода (CGT) для параметра Source file (*.c) template.
Укажите шаблон, который определяет организацию верхнего уровня и форматирование сгенерированного заголовка (.h) файлы Введите файл CGT для параметра шаблона file (* .h). Этот файл шаблона может быть тем же файлом шаблона, который вы задаете для Source file (.c) template. Если вы используете тот же файл шаблона, исходные и заголовочные файлы содержат одинаковые баннеры. Шаблон по умолчанию matlabroot/ toolbox/rtw/targets/ecoder/ert_code_template.cgt.
Укажите шаблон, который организует сгенерированный код в разделы (такие как includes, typedefs, функции и многое другое)Введите пользовательский файл шаблона обработки файлов (CFP) для параметра шаблона индивидуальной настройки файлов. Шаблон CFP может излучать код, директивы или комментарии в каждый раздел. Для получения дополнительной информации смотрите Пользовательские шаблоны обработки файлов (CFP).
Сгенерируйте пример модели основного программного модуляВыберите Generate an example main program. Для получения дополнительной информации смотрите Сгенерировать автономную программу.

Примечание

Поместите файлы шаблонов, которые вы задаете в MATLAB® путь.