Компилятор целевого языка (TLC) является неотъемлемой частью генератора кода. Он позволяет настраивать сгенерированный код. С помощью настройки можно создавать специфичный для платформы код или включать собственные алгоритмические изменения для производительности, размера кода или совместимости с существующими методами.
TLC включает в себя:
Файлы, соответствующие подмножеству предоставленных блоков Simulink ®.
Файлы для информации по всей модели, указывающие заголовок и информацию о параметрах.
Файлы TLC представляют собой файлы ASCII, которые явно управляют способом создания кода. Редактируя файл TLC, можно изменить способ создания кода.
Компилятор целевого языка предоставляет полный набор готовых файлов TLC для создания кода ANSI ® C или C++. Можно просматривать файлы TLC и вносить в них незначительные или значительные изменения. Эта открытая среда обеспечивает исключительную гибкость при настройке созданного кода.
Дополнительные сведения см. в разделе Реализация C/C + + S-функций, в котором описано, как записывать обернутые и полностью встроенные S-функции с акцентом на mdlRTW() функция.
Примечание
Не настраивать файлы TLC в папке , даже если эта возможность существует. Такие настройки TLC могут не применяться во время процесса создания кода и могут привести к непредсказуемым результатам.matlabroot/rtw/c/tlc
На этой диаграмме верхнего уровня показано соответствие компилятора целевого языка процессу создания кода.

Компилятор целевого языка (TLC) предназначен для преобразования файла описания модели (или аналогичные файлы) в код или текст, специфичный для целевого объекта.model.rtw
Компилятор целевого языка преобразует представление блок-схемы Simulink, называемой , в код C или C++. model.rtw содержит частичное представление модели. Представление описывает семантику выполнения блок-схемы на языке высокого уровня. Дополнительные сведения см. в разделе Файл model.rtw и области. model.rtw
После прочтения компилятор целевого языка генерирует свой код на основе целевых файлов, в которых указывается конкретный код для каждого блока, и файлов всей модели, в которых указывается общий стиль кода. TLC использует целевые файлы и model.rtw для создания кода ANSI C или C++.model.rtw
Для создания целевого приложения генератору кода требуется файл макета шаблона, определяющий параметры компилятора и компилятора C или C++ для процесса построения. Генератор кода преобразует файл макета шаблона в целевой файл макета () путем выполнения расширения маркера, специфического для данной модели. Целевой файл makefile является измененной версией дженерик-программы model.mkrt_main файл (или grt_main). Необходимо изменить grt_main для соответствия конкретным требованиям целевого объекта, таким как процедуры обслуживания прерываний. См. разделы Makefiles и Make Options и Customize Template Makefiles.
Компилятор целевого языка имеет сходство с HTML, Perl и MATLAB ®. Он имеет синтаксис разметки, аналогичный HTML, мощь и гибкость Perl и других языков сценариев, а также способность обработки данных MATLAB (TLC может вызывать функции MATLAB). Код, сгенерированный TLC, оптимизирован и полностью комментирован. С помощью TLC можно генерировать код из линейных, нелинейных, непрерывных, дискретных или гибридных моделей Simulink. Модели могут включать блоки Simulink, которые автоматически преобразуются в код. Исключениями являются функциональные блоки MATLAB и S-функциональные блоки, которые вызывают файлы MATLAB. Компилятор целевого языка использует целевые файлы блоков для преобразования каждого блока в файл и целевой файл для всей модели для глобальной адаптации кода.model.rtw
Можно включить S-функции C MEX с сгенерированным кодом в исполняемый файл программы. Вы можете написать целевой файл для вашей C MEX S-функции, чтобы встроить S-функцию (см. Inline C MEX S-Functions), чтобы повысить производительность за счет исключения вызовов самой S-функции и накладных расходов на памятьSimStruct S-функции. Включение S-функции включает S-функциональный блочный код в сгенерированный код для модели. Если целевой файл TLC отсутствует для S-функции, то при вызове функции вызывается файл кода C или C++. См. раздел Встроенные S-функции. Также можно записать целевые файлы для языковых файлов MATLAB или S-функций Fortran.
Компилятор целевого языка работает со своими целевыми файлами и выводом генератора кода для создания кода.

При создании кода из модели Simulink первым шагом в автоматизированном процессе является создание файл.
model.rtw файл содержит специфичную для модели информацию, необходимую для создания кода из модели Simulink. model.rtw передается компилятору целевого языка, который использует его в сочетании с набором включенных системных целевых файлов и блокирует целевые файлы для генерации кода.model.rtw
Только окончательный исполняемый файл записывается непосредственно в текущую папку. Для других файлов, созданных во время создания кода, включая используется папка построения. Эта папка создана в текущей папке и имеет имя model.rtw. model_target_rtw - аббревиатура целевой среды targetgrt это общий целевой объект в реальном времени.
Файлы, помещенные в папку построения:
Тело для сгенерированного исходного кода C или C++ ( или model.c)model.cpp
Файл заголовка определение параметров и структур данных, закрытых для сгенерированного кодаmodel_private.h
Makefile, , для построения приложенияmodel.mk
Дополнительные файлы, описанные в разделе Управление файлами процесса построения