Файлы, обеспеченные, чтобы поддержать пользовательскую обработку файла:
: Библиотека функции TLC, которая реализует шаблон API кода. matlabroot
/rtw/c/tlc/mw/codetemplatelib.tlccodetemplatelib.tlc
также предоставляет подробную документацию по API в заголовках комментариев, предшествующих каждой функции.
: Шаблон пользовательской обработки файла (CFP) в качестве примера, который необходимо использовать в качестве начальной точки для создания собственных шаблонов CFP. В инструкциях и примерах для создания шаблона CFP предоставляют, Генерируют Исходные и Заголовочные файлы с Шаблоном Пользовательской обработки файла (CFP).matlabroot
/toolbox/rtw/targets/ecoder/example_file_process.tlc
Файлы TLC, поддерживающие генерацию односкоростных и многоскоростных основных программных модулей (см. Пример Настройки Основная Генерация Программного модуля).
Если вы создали шаблон CFP, необходимо интегрировать его в процесс генерации кода, с помощью поля редактирования шаблона настройки Файла. Смотрите Задают Шаблоны Для Генерации кода.
Шаблон пользовательской обработки файла (CFP) налагает простую структуру на процесс генерации кода. Шаблон, файл шаблона генерации кода (CGT), делит код, сгенерированный для каждого файла во многие разделы. Эти разделы получены в итоге во Встроенных Лексемах CGT и Соответствующих Секциях кода и Подразделах, Заданных для Встроенных Разделов.
Код для каждого раздела собран в буферах и затем испущен, в перечисленном порядке, к сгенерированному файлу.
Чтобы сгенерировать раздел файла, ваш шаблон CFP должен сначала собрать код, который будет сгенерирован в буфер. Затем чтобы испустить раздел, ваш шаблон вызывает функцию TLC
LibSetSourceFileSection(fileH, section, tmpBuf)
где
fileH
ссылка на файл на сгенерированный файл.
section
секция кода или подраздел, к которому должен быть испущен код. раздел должен быть одним из имен раздела или подраздела, перечисленных в Подразделах, Заданных для Встроенных Разделов.
Определите section
аргумент можно следующим образом:
Если Подразделы, Заданные для Встроенных Разделов, не задают подразделы для данного раздела, используйте имя раздела в качестве section
аргумент.
Если Подразделы, Заданные для Встроенных Разделов, задают один или несколько подразделов для данного раздела, можно использовать или имя раздела или имя подраздела как section
аргумент.
Если вы задали пользовательскую лексему, обозначающую пользовательский раздел, не вызывайте LibSetSourceFileSection
. Специальные вызовы API обеспечиваются для пользовательских разделов (см., Генерируют Пользовательский Раздел).
tmpBuf
буфер, содержащий код, который будет испускаться.
Нет никакого требования, чтобы сгенерировать все доступные разделы. Ваша потребность шаблона только генерирует разделы, которых вы требуете в конкретном файле.
Обратите внимание на то, что проверка законности или синтаксиса не выполняется на пользовательском коде в каждом разделе.
Смотрите Генерируют Исходные и Заголовочные файлы с Шаблоном Пользовательской обработки файла (CFP), для типичных примеров использования.
Embedded Coder® обеспечивает расширяемый API, чтобы увеличить сгенерированный код и сгенерировать дополнительные файлы. Шаблон настройки Файла параметра конфигурации модели задает пользовательский скрипт Компилятора выходного языка (TLC), который выполняется в конце процесса генерации кода. Используя этот скрипт, можно сгенерировать дополнительный код, чтобы взаимодействовать через интерфейс с кодом приложения.
В этом примере, файл скрипта TLC rtwdemofileprocess.tlc
создает дополнительную функцию точки входа, rtwdemo_fileprocess
, который вызывает ступенчатую функцию и инициализирует модель при необходимости. Функция инициализации очевидна для вызывающей стороны.
1. Откройте модель rtwdemo_fileprocess
в качестве примера.
open_system('rtwdemo_fileprocess');
2. Проверьте, что шаблон настройки Файла параметра конфигурации модели установлен в rtwdemofileprocess.tlc
путем двойного клика по желтой кнопке пометил View Templates Configuration.
3. Сгенерируйте код.
4. Смотрите сгенерированный код. Дополнительная функция, rtwdemo_fileprocess
, появляется в конце сгенерированного файла rtwdemo_fileprocess.c
. Точка входа объявляется extern
в rtwdemo_fileprocess.h
как rtwdemofileprocess.tlc
скрипт задает.