Генератор кода предоставляет набор инструментов, включая информационный объект сборки, который можно использовать, чтобы настроить обработку сборки, которая происходит после генерации кода. Можно использовать такие индивидуальные настройки для целевой разработки или интегрирования сторонних программ в среду разработки приложений.
На следующем рисунке и последующих шагах показан общий рабочий процесс настройки индивидуальных настроек генерации посткодов.
Подавьте генерацию make-файла, если применимо.
Создайте модель.
Измените команду и перестроите модель, пока результаты сборки не станут приемлемыми.
В начале сборки модели процесс сборки регистрирует следующую опцию сборки и информацию о зависимостях во временном информационном объекте сборки:
Опции компилятора
Определения идентификаторов препроцессора
Опции Linker
Исходные файлы и пути
Включите файлы и пути
Предварительно скомпилированные внешние библиотеки
Вы можете извлечь информацию из и добавить информацию к этому объекту с помощью обширного набора функций. Список доступных функций и подробных описаний функций см. в разделе Создание Индивидуальной настройке процесса. Программа Post Генерации кода Команды объясняет, как использовать функции для управления обработкой post генерации кода build.
Для некоторых приложений можно было бы захотеть управлять аспектами процесса сборки после генерации кода. Например, можно использовать этот подход, если вы разрабатываете свой собственный целевой объект или хотите применить инструмент анализа к сгенерированному коду, прежде чем продолжать процесс сборки. Можно применить этот уровень управления к процессу сборки, запрограммировав и затем определив команду генерации кода посткода.
Команда post генерации кода является MATLAB® языковой файл, который обычно вызывает функции, которые получают данные из или добавляют данные к объекту информации о сборке модели. Можно запрограммировать команду как скрипт или функцию.
Если вы программируете команду как: | Затем: |
---|---|
Скрипт | Скрипт может получить доступ к имени модели и информации о сборке непосредственно |
Функция | Функция может передать имя модели и информацию о сборке как аргументы |
Если ваша команда post генерации кода вызывает пользовательские функции, убедитесь, что функции указаны в пути MATLAB. Если процесс сборки не может найти функцию, которую вы используете в своей команде, процесс сборки ошибается.
Затем можно вызвать комбинацию информационных функций сборки, как указано в Build Process Индивидуальной настройки, чтобы настроить обработку проводки генерации кода сборки модели.
В следующем примере показан фрагмент команды post генерации кода, который получает имена файлов и пути к источнику и включает файлы, сгенерированные для модели для анализа.
function analyzegencode(buildInfo) % Get the names and paths of source and include files % generated for the model and then analyze them. % buildInfo - build information for my model. % Define cell array to hold data. MyBuildInfo={}; % Get source file information. MyBuildInfo.srcfiles=getSourceFiles(buildInfo, true, true); MyBuildInfo.srcpaths=getSourcePaths(buildInfo, true); % Get include (header) file information. MyBuildInfo.incfiles=getIncludeFiles(buildInfo, true, true); MyBuildInfo.incpaths=getIncludePaths(buildInfo, true); % Analyze generated code. . . .
После того, как вы запрограммируете команду генерации кода посткода, сообщите процессу сборки, что команда существует, и добавьте ее к обработке сборки модели. Задайте команду с помощью PostCodeGenCommand
параметр конфигурации модели. Когда вы задаете команду генерации кода посткода, процесс сборки оценивает команду после генерации и записи сгенерированного кода на диск и перед генерацией make-файла.
Как показывают следующие синтаксические линии, аргументы, которые вы задаете при установке параметра конфигурации, варьируются в зависимости от того, программируете ли вы команду как скрипт, функцию или набор функций.
Примечание
При определении команды как функции можно задать произвольное количество входных параметров. Чтобы передать имя и информацию о сборке модели в функцию, задайте идентификаторы modelName
и buildInfo
как аргументы.
Скрипт
set_param(model, 'PostCodeGenCommand',... 'pcgScriptName');
Функция
set_param(model, 'PostCodeGenCommand',... 'pcgFunctionName(modelName)');
Несколько функций
pcgFunctions=... 'pcgFunction1Name(modelName);... pcgFunction2Name(buildInfo)'; set_param(model, 'PostCodeGenCommand',... pcgFunctions);
Следующий вызов на set_param
определяет PostCodGenCommand
чтобы вычислить функцию analyzegencode
.
set_param(model, 'PostCodeGenCommand',... 'analyzegencode(buildInfo)');
В этом примере показано, как использовать интерфейс программирования информации сборки и параметр конфигурации модели Post генерация кода command (PostCodeGenCommand
), чтобы настроить процесс сборки. В данном примере для команды генерации почтового кода задано значение rtwdemo_buildinfo_data
. Процесс сборки вызывает эту функцию после генерации кода.
Пример также показывает, как использовать функцию строения сборки rtwmakecfg.m
.
Откройте модель примера
Откройте пример модели rtwdemo_buildinfo
.
open_system('rtwdemo_buildinfo');
Сгенерируйте код из модели
Сгенерируйте код. Генератор кода создает файл BuildInfo.html
, который документирует информационный объект сборки.
Исследуйте индивидуальные настройки и выход процесса сборки
Исследуйте индивидуальные настройки процесса сборки и запрос генерации почтового кода информационного объекта сборки. В веб-браузере откройте файл BuildInfo.html
. Файл предоставляет гиперссылки, которые можно использовать, чтобы изучить код, произведенный для модели. Кроме того, в Командном Окне MATLAB:
Чтобы просмотреть функцию, сконфигурированную для выполнения на этапе пост генерации кода процесса сборки, введите:
get_param('rtwdemo_buildinfo','PostCodeGenCommand');
Чтобы изучить интерфейс программирования для объекта информации о сборке, введите:
rtwdemo_buildinfo_data(buildInfo);
Чтобы изучить, как пример использует rtwmakecfg
function, введите:
edit rtwmakecfg.m;
Чтобы просмотреть информационные данные объекта сборки, которые процесс сборки сохраняет в buildInfo.mat
откройте файл rtwdemo_<target>_rtw\buildInfo.mat
.
Чтобы просмотреть содержимое функции генерации почтового кода rtwdemo_buildinfo_data.m
, введите:
edit rtwdemo_buildinfo_data.m;
В конце файла функция вызывает packNGo
упаковать исходный и объектный файлы, которые идентифицирует информационный объект сборки для перемещения.
Похожие темы
Генератор кода позволяет вам подавить генерацию make-файла в процессе сборки. Например, вы можете использовать эту поддержку, когда интегрируете инструменты в процесс сборки, которые не используют make-файлы.
Чтобы дать указание генератору кода не создавать make-файл, выполните одно из следующих действий:
Очистить Generate makefile опции на панели Code Generation диалогового окна Параметры конфигурации.
Установите значение параметра конфигурации GenerateMakefile
на off
.
Когда вы подавляете генерацию make-файла,
Вы не можете явным образом задать команду сборки или файл make-файла шаблона.
Укажите свои собственные инструкции для обработки генерации кода, включая компиляцию и связывание, в команде post генерации кода как объяснено в Программах Post Генерации кода Command и Define a Post Генерации кода Command.