Выберите упаковку для сгенерированного интерфейса кода C или C++.
Категория: Создание кода > Интерфейс
По умолчанию:
Nonreusable function если параметр Language имеет значение C; C++ class если для параметра Language установлено значение C++
C++ classСоздайте интерфейс класса C++ для кода модели. Сгенерированный интерфейс инкапсулирует требуемые данные модели в атрибуты класса C++ и функции точки входа модели в методы класса C++.
Nonreusable functionСоздание неиспользуемого кода. Структуры данных модели статически назначаются и используются функциями точек входа модели непосредственно в коде модели.
Reusable functionСоздайте повторно используемый многоэкземплярный код, который повторно вводится следующим образом:
Для модели на основе GRT генерируется исходный файл содержит функцию распределения, которая динамически распределяет данные модели для каждого экземпляра модели. Для модели на основе ERT можно использовать параметр Использовать динамическое распределение памяти для инициализации модели для управления тем, была ли создана функция распределения.model.c
Сгенерированный код передает структуру данных модели в реальном времени по ссылке в качестве аргумента и другие функции точки входа модели.model_step
Структура данных модели в реальном времени экспортируется с помощью файл заголовка.model.h
Для модели на основе ERT можно использовать параметр Pass root-level I/O для управления передачей входных и выходных аргументов корневого уровня в повторно используемые функции точки входа модели. Они могут быть включены в структуру данных модели в реальном времени, которая передается функциям, передается как отдельные аргументы или передается как ссылки на структуру ввода и структуру вывода.
Точки входа экспортируются с помощью . Чтобы вызвать функции точки входа из рукописного кода, добавьте model.h#include model.h директива к коду.
При выборе Reusable function, генератор кода формирует указатель на объект модели в реальном времени ().model_M
При выборе Reusable function, генератор кода может генерировать код, который компилируется, но не вводится повторно. Например, если сигнал, структура DWork или данные параметра имеют класс хранения, отличный от Autoсоздаются глобальные структуры данных.
Стоимость C++ class доступен только в том случае, если для параметра Language установлено значение C++.
Выбор Reusable function или C++ class включает диагностику ошибок многоэкземплярного кода.
Для целевого файла системы на основе ERT выберите Reusable function включает параметры Pass root-level I/O as и Use dynamic memory allocation for model initialization.
Для включения параметра Classic call interface выберите Nonreusable function.
Для целевого файла системы на основе ERT выберите C++ class включает следующие элементы управления конфигурацией модели для настройки интерфейса класса модели:
Подчиненная область видимости элемента данных/управления доступом
Параметры Создать деструктор и Использовать динамическое выделение памяти для создания экземпляра блока модели
Для целевого файла системы на основе ERT можно выбрать Reusable function со статическим ert_main.c при выполнении следующих действий:
Задать параметр Pass root-level I/O для Part of model data structure.
Выберите параметр Использовать динамическое выделение памяти для инициализации модели.
Для целевого файла системы на основе ERT нельзя выбрать Reusable function если вы:
Настройка model_step прототип функции
Выбор параметра блока подсистемы Function с отдельными данными
Использование подсистемы, которая
Имеет несколько портов, совместно использующих источник
Имеет порт, который используется несколькими экземплярами подсистемы и имеет разное время выборки, типы данных, сложность, состояние кадра или размеры для всех экземпляров.
Имеет выход, помеченный как глобальный сигнал
Для каждого экземпляра содержит идентичные блоки с различными именами или параметрами
Выбор Reusable function не изменяет код, сгенерированный для подсистем вызова функций.
Параметр: CodeInterfacePackaging |
| Текст: символьный вектор |
Значение: 'C++ class' | 'Nonreusable function' | 'Reusable function' |
По умолчанию: 'Nonreusable function' если TargetLang имеет значение 'C'; 'C++ class' если TargetLang имеет значение 'C++' |
| Приложение | Настройка |
|---|---|
| Отладка | Никакого воздействия |
| Отслеживаемость | Никакого воздействия |
| Эффективность | Reusable function или C++ class |
| Меры безопасности | Никакого воздействия |