Упаковка интерфейса кода

Описание

Выберите упаковку для сгенерированного интерфейса кода C or C++.

Category: Генерация кода > Интерфейс

Настройки

По умолчанию: Nonreusable function если для Language параметра задано значение C; C++ class если Language установлено на C++

C++ class

Сгенерируйте интерфейс класса C++ к коду модели. Сгенерированный интерфейс инкапсулирует необходимые данные модели в атрибуты класса C++ и моделирует функции точки входа в методы класса C++.

Nonreusable function

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

Reusable function

Сгенерируйте переиспользуемый мультиобразец, который является входным, следующим образом:

  • Для модели на основе GRT сгенерированные model.c исходный файл содержит функцию выделения, которая динамически распределяет данные модели для каждого образца модели. Для модели, основанной на ERT, можно использовать Use dynamic memory allocation for model initialization параметров, чтобы контролировать, сгенерирована ли функция распределения.

  • Сгенерированный код передает структуру данных модели реального времени, по ссылке, как аргумент к model_step и другие функции точки входа модели.

  • Структура данных модели реального времени экспортируется со model.h заголовочный файл.

Для модели, основанной на ERT, можно использовать Pass root-level I/O as параметров, чтобы управлять тем, как входные и выходные аргументы корневого уровня передаются переиспользуемым функциям точки входа модели. Они могут быть включены в структуру модели реального времени данных, которая передается функциям, передается как отдельные аргументы или передается как ссылки на структуру входа и структуры output.

Совет

  • Точки входа экспортируются с помощью model.h. Чтобы вызвать функции точки входа из рукописного кода, добавьте #include model.h директива к коду.

  • Когда вы выбираете Reusable functionгенератор кода генерирует указатель на объект модели реального времени (model_M).

  • Когда вы выбираете Reusable functionгенератор кода может сгенерировать код, который компилируется, но не повторяется. Для примера, если сигнал, структура DWork или данные параметра имеют класс памяти, отличный от Auto, глобальные данные структуры сгенерированы.

Зависимости

  • Значение C++ class доступен, только если Language параметра установлено в C++.

  • Выбор Reusable function или C++ class включает Multi-instance code error diagnostic параметра.

  • Для целевого файла системы на основе ERT выберите Reusable function включает параметры Pass root-level I/O as и Use dynamic memory allocation for model initialization.

  • Чтобы включить Classic call interface параметров, выберите Nonreusable function.

  • Для целевого файла системы на основе ERT выберите C++ class включает следующие элементы управления строением модели для настройки интерфейса класса модели:

    • Data Member Visibility/Access Control подпанель

    • Параметры Generate destructor и Use dynamic memory allocation for model block instantiation

  • Для системного целевого файла на основе ERT можно выбрать Reusable function со статическим ert_main.c модуль, если вы делаете следующее:

    • Установите Pass root-level I/O as параметра равным Part of model data structure.

    • Выберите Use dynamic memory allocation for model initialization параметра.

  • Для системного целевого файла на основе ERT вы не можете выбрать Reusable function если вы:

    • Настройка model_step прототип функции

    • Выбор подсистемы параметров блоков Function with separate data

    • Использование подсистемы, которая

      • Имеет несколько портов, которые совместно используют источник

      • Имеет порт, который используется несколькими образцами подсистемы и имеет различные шаги расчета, типы данных, сложность, статус системы координат или размерности по образцам

      • Имеет выход, отмеченный как глобальный сигнал

      • Для каждого образца содержат одинаковые блоки с различными именами или настройками параметра

  • Выбор Reusable function не изменяет код, сгенерированный для подсистем вызова функций.

Информация о командной строке

Параметр: CodeInterfacePackaging
Тип: Вектор символов
Значение: 'C++ class' | 'Nonreusable function' | 'Reusable function'
По умолчанию: 'Nonreusable function' если TargetLang установлено в 'C'; 'C++ class' если TargetLang установлено в 'C++'

Рекомендуемые настройки

ПриложениеНастройка
ОтладкаНикакого влияния
ТрассируемостьНикакого влияния
ЭффективностьReusable function или C++ class
Меры безопасностиНикакого влияния

См. также

Похожие темы