Интегрирование кода из нескольких папок

Чтобы помочь вам интегрировать сгенерированный код из нескольких папок генерации кода, эта таблица содержит информацию о действиях, которые вы можете предпринять.

ДействиеИнформацияТип поддерживаемого интегрирования

Используйте согласованные параметры конфигурации между моделями

Если вы хотите интегрировать группу моделей, стремитесь использовать конфигурацию модели, который согласован между моделями.

Для каждой модели можно создать хеш- таблицу из файла контрольной суммы общих утилит, checksummap.mat. Пары "ключ-значение" в хеш- таблица дают вам информацию о параметрах модели. Эта информация может помочь вам определить значения параметров, которые вы должны использовать для моделей. Для получения дополнительной информации см. Раздел «Управление контрольной суммой общего служебного кода»

Чтобы определить, являются ли значения параметров последовательными по всем моделям, для каждой модели можно запустить проверки на податливость руководствам по моделированию, которые задают значения параметров. Для получения дополнительной информации см. Model Advisor Checks for High-Integrity Modeling Guidelines.

Можно задать те же параметры конфигурации для группы моделей. Для примера для каждой модели используйте строение ссылку для доступа к одной и той же конфигурации модели из словаря данных. Когда вы используете одну и ту же конфигурацию модели, сгенерированные типы данных для каждой модели совпадают и соответствуют rtwtypes.h файлы эквивалентны, за исключением комментариев. Чтобы интегрировать код из различных моделей, можно выбрать одну rtwtypes.h файл. Для получения дополнительной информации смотрите:

Тот же релиз, кросс-релиз

Повторно используйте общий код утилиты

Можно повторно использовать данные и функции между компонентами программного обеспечения путем определения общей папки утилит для ваших моделей. В диалоговом окне Параметров конфигурации установите Shared code placement равным Shared location.

Если вы хотите, чтобы программные компоненты делились папкой утилит, сгенерируйте код из общей рабочей папки или укажите ту же папку генерации кода через параметр управления генерацией файлов, CodeGenFolder. Дополнительные сведения см. в разделе Управление папками процесса сборки.

Идентично именованные файлы утилиты, сгенерированные в различных релизах, функционально эквивалентны, даже если стиль файла или комментарии различаются. Для интегрирование кода можно использовать ExistingSharedCode параметр для задания повторного использования общего кода утилиты из существующей папки. Для получения дополнительной информации смотрите:

Тот же релиз, кросс-релиз

Избегайте обновлений сгенерированных заголовочных файлов

В целом, когда вы создаете модель, существующие заголовочные файлы (и исходные файлы) в _sharedutils или _shared папка не регенерируется. Однако существуют образцы, когда генератор кода перезаписывает существующие заголовочные файлы в папке. Таблица в Code Generator Header Files, в которой описываются зависимости генерации заголовочных файлов, предоставляет информацию о том, как можно избежать перезаписи некоторых заголовочных файлов, например rtwtypes.h и multiword_types.h.

Для получения дополнительной информации смотрите:

Н/Д

Используйте блок cross-release SIL или PIL

Можно использовать блок cross-release SIL или PIL для интеграции сгенерированного кода из предыдущих релизов (R2010a и более поздних) с сгенерированным кодом из текущего релиза. Для получения дополнительной информации смотрите Cross-Release Code Интегрирования.

Тот же релиз, кросс-релиз

Использование CRL и ExistingSharedCode

Можно использовать библиотеку замещения кода (CRL) и ExistingSharedCode приближается параметр либо отдельно, либо совместно:

  • CRL-подход поддерживает индивидуальную настройку генерации кода и устраняет генерацию некоторых общих служебных файлов. Необходимо управлять использованием файлов утилиты, которые не заменяются CRL. Для получения дополнительной информации см. раздел «Разработка библиотеки замещения кода».

  • The ExistingSharedCode подход, который основан на ранее сгенерированных файлах утилиты, также поддерживает индивидуальную настройку и подавляет регенерацию файлов утилиты. Если индивидуальная настройка не требуется, ExistingSharedCode подход проще настроить и управлять. Для получения дополнительной информации смотрите Cross-Release Shared Utility Code Reuse.

Тот же релиз, кросс-релиз

Похожие темы