Генератор кода обеспечивает набор инструментов, включая информационный объект сборки, можно использовать, чтобы настроить сборку, обрабатывающую, который происходит после генерации кода. Можно использовать такие индивидуальные настройки для целевой разработки или интегрирования сторонних программ в среду разработки приложений.
Следующая фигура и шаги, которые следуют, показывают общий рабочий процесс для подготовки индивидуальных настроек постгенерации кода.
Подавите генерацию make-файла, если применимо.
Создайте модель.
Измените команду и восстановите модель, пока результаты сборки не будут приемлемы.
В начале сборки модели процесс сборки регистрирует следующую опцию сборки и информацию о зависимостях к временному информационному объекту сборки:
Параметры компилятора
Определения идентификатора препроцессора
Опции компоновщика
Исходные файлы и пути
Включайте файлы и пути
Предварительно скомпилированные внешние библиотеки
Можно получить информацию из и добавить информацию в этот объект при помощи обширного набора функций. Для списка доступных функций и подробных функциональных описаний, смотрите Индивидуальную настройку Процесса сборки. Программируйте Команду Генерации кода Сообщения, объясняет, как использовать функции, чтобы управлять обработкой сборки генерации кода сообщения.
Для определенных приложений вы могли хотеть управлять аспектами процесса сборки после генерации кода. Например, можно использовать этот подход, если вы разрабатываете свою собственную цель, или вы хотите применить аналитический инструмент к сгенерированному коду прежде, чем продолжить процесс сборки. Можно применить этот уровень управления к процессу сборки путем программирования и затем определения команды генерации кода сообщения.
Командой генерации кода сообщения является MATLAB® файл языка, который обычно вызывает функции, которые получают данные из или добавляют данные в информационный объект сборки модели. Можно программировать команду как скрипт или функцию.
Если вы программируете команду как a: | Затем: |
---|---|
Скрипт | Скрипт может получить доступ к имени модели и информации о сборке непосредственно |
Функция | Функция может передать имя модели и информацию о сборке в качестве аргументов |
Если ваша команда генерации кода сообщения вызывает пользовательские функции, убедитесь, что функции находятся на пути MATLAB. Если процесс сборки не может найти функцию, вы используете в своей команде, ошибки процесса сборки.
Можно затем вызвать комбинацию функций информации о сборке, как перечислено в Индивидуальной настройке Процесса сборки, чтобы настроить обработку сборки генерации кода сообщения модели.
Следующий пример показывает фрагмент команды генерации кода сообщения, которая получает имена файлов и пути источника, и включайте файлы, сгенерированные для модели для анализа.
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)');
В этом примере показано, как использовать интерфейс программирования информации о сборке и команду генерации кода Сообщения параметра конфигурации модели (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
функция, введите:
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 диалогового окна Configuration Parameters.
Установите значение параметра конфигурации GenerateMakefile
к off
.
Когда вы подавляете генерацию make-файла,
Вы не можете явным образом задать сделать команду или обработать make-файл по шаблону.
Задайте свои собственные инструкции для обработки генерации кода сообщения, включая компиляцию и соединение, в команде генерации кода сообщения, как объяснено в Программе Команда Генерации кода Сообщения и Задайте Команду Генерации кода Сообщения.