Выберите упаковку для сгенерированного интерфейса кода C or C++.
Category: Генерация кода > Интерфейс
По умолчанию:
Nonreusable function
если для Language параметра задано значение C
; C++ class
если Language установлено на C++
C++ class
Сгенерируйте интерфейс класса C++ к коду модели. Сгенерированный интерфейс инкапсулирует необходимые данные модели в атрибуты класса C++ и моделирует функции точки входа в методы класса C++.
Nonreusable function
Сгенерируйте непереиспользуемый код. Структуры данных моделей статически распределяются и доступны функциями точки входа модели непосредственно в коде модели.
Reusable function
Сгенерируйте переиспользуемый мультиобразец, который является входным, следующим образом:
Для модели на основе GRT сгенерированные
исходный файл содержит функцию выделения, которая динамически распределяет данные модели для каждого образца модели. Для модели, основанной на ERT, можно использовать Use dynamic memory allocation for model initialization параметров, чтобы контролировать, сгенерирована ли функция распределения.model
.c
Сгенерированный код передает структуру данных модели реального времени, по ссылке, как аргумент к
и другие функции точки входа модели.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 |
Меры безопасности | Никакого влияния |