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

Описание

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

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

Настройки

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

C++ class

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

Nonreusable function

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

Reusable function

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

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

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

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

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

Советы

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

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

  • Когда вы выбираете 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 включает следующие управления конфигурацией модели для настройки интерфейса класса модели:

    • Кнопка Configure C++ Class Interface

    • Подпанель 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
Меры безопасностиНикакой удар

Смотрите также

Похожие темы