Компилятор выходного языка (TLC) является неотъемлемой частью генератора кода. Это позволяет вам настроить сгенерированный код. Посредством индивидуальной настройки можно произвести специфичный для платформы код, или можно включить собственные алгоритмические изменения для эффективности, размера кода или совместимости с существующими методами.
TLC включает:
Файлы, соответствующие подмножеству обеспеченных блоков Simulink®.
Файлы для получения информации всей модели, которые задают информация о параметре и заголовок.
Файлами TLC являются ASCII-файлы, которые явным образом управляют способом, которым сгенерирован код. Путем редактирования файла TLC можно изменить способ, которым сгенерирован код.
Компилятор Выходного языка обеспечивает полный набор готовых к использованию файлов TLC для генерации кода C or C++ ANSI®. Можно просмотреть файлы TLC и внести незначительные или обширные изменения в них. Эта открытая среда обеспечивает огромную гибкость для настройки сгенерированного кода.
Для получения дополнительной информации смотрите Реализацию S-функции C/C++, который описывает, как записать перенесенные и полностью встроенные S-функции с акцентом на mdlRTW()
функция.
Примечание
Не настраивайте файлы TLC в папке
, даже при том, что возможность существует. Такие индивидуальные настройки TLC не могут быть применены во время процесса генерации кода и могут привести к непредсказуемым результатам.matlabroot
/rtw/c/tlc
Эта схема верхнего уровня показывает, как Компилятор Выходного языка помещается с процессом генерации кода.
Компилятор выходного языка (TLC) спроектирован, чтобы преобразовать файл описания модели
(или подобные файлы) в целевой код или текст.model
.rtw
Компилятор Выходного языка преобразовывает представление Диаграммы Simulink, названной
, в код C or C++. model
.rtw
файл содержит частичное представление модели. Представление описывает семантику выполнения блок-схемы в высокоуровневом языке. Для получения дополнительной информации см. model.rtw Файл и Осциллографы. model
.rtw
После чтения
файл, Компилятор Выходного языка генерирует свой код на основе target files, которые задают конкретный код для каждого блока и model-wide files, которые задают полный стиль кода. TLC использует конечные файлы и model
.rtw
файл, чтобы сгенерировать код C or C++ ANSI.model
.rtw
Чтобы создать целевое приложение, генератор кода требует make-файла шаблона, который задает C или параметры компилятора C++ и параметры компилятора для процесса сборки. Генератор кода преобразовывает make-файл шаблона в целевой make-файл (
) путем выполнения маркерного расширения, характерного для данной модели. Целевой make-файл является модифицированной версией типового model
.mkrt_main
файл (или grt_main
). Необходимо изменить grt_main
соответствовать конкретным требованиям цели, таким как процедуры обработки прерывания. Смотрите Make-файлы Шаблона и Сделайте Опции и Настройте Make-файлы Шаблона.
Компилятор Выходного языка имеет общие черты с HTML, Perl и MATLAB®. Это имеет синтаксис разметки, похожий на HTML, степень и гибкость Perl и других языков сценариев, и степень обработки данных MATLAB (TLC может вызвать функции MATLAB). Код, что сгенерированный TLC высоко оптимизирован и полностью прокомментирован. С TLC можно сгенерировать код из линейных, нелинейных, непрерывных, дискретных, или гибридных моделей Simulink. Модели могут включать блоки Simulink, которые автоматически преобразованы в код. Исключениями являются блоки MATLAB function и Блоки s-function, которые вызывают файлы MATLAB. Компилятор Выходного языка использует block target files, чтобы преобразовать каждый блок в
файл и model-wide target file для глобальной индивидуальной настройки кода.model
.rtw
Можно включить S-функции MEX C со сгенерированным кодом в исполняемый файл программы. Можно записать конечный файл для S-функции MEX C к inline S-функция (см. Встроенные S-функции MEX C), чтобы улучшать производительность путем устранения вызовов функции к самой S-функции и памяти наверху о theSimStruct
из S-функции. Встраивание S-функции включает код Блока s-function в сгенерированный код для модели. То, когда конечный файл TLC не присутствует для S-функции, это - файл кода C or C++, вызывается посредством вызова функции. Смотрите Встроенные S-функции. Можно также записать конечные файлы для файлов языка MATLAB или S-функций Фортрана.
Компилятор Выходного языка работает с его конечными файлами и генератором кода выход, чтобы произвести код.
При генерации кода из модели Simulink первый шаг в автоматизированном процессе должен сгенерировать
файл.
model
.rtw
файл включает информацию модели специфичную, запрошенную для генерации кода из модели Simulink. model
.rtw
передается Компилятору Выходного языка, который использует его в сочетании с набором включенных системных конечных файлов и конечных файлов блока, чтобы сгенерировать код.model
.rtw
Только итоговый исполняемый файл записан непосредственно в текущую папку. Для других файлов, созданных во время генерации кода, включая
файл, папка сборки используется. Эту папку создают в текущей папке и называют model
.rtw
. model
_target
_rtw
сокращение от целевого окружения target
grt
это - типовая цель в реальном времени.
Файлы, помещенные в папку сборки, включают:
Тело для сгенерированного C или исходного кода C++ (
или model
C
)model
.cpp
Заголовочный файл
определение параметров и структур данных, частных к сгенерированному кодуmodel
_private.h
Make-файл,
, для того, чтобы создать приложениеmodel
.mk
Дополнительные файлы, описанные в, Управляют Файлами Процесса сборки