В этом разделе описывается сконфигурировать пользовательский целевой процессор, чтобы поддержать управление интерфейсом класса C++. Без описанных модификаций вы не сможете использовать C++ class
упаковка интерфейса кода и кнопка Configure C++ Class Interface на панели Interface диалогового окна Configuration Parameters, чтобы сгенерировать и сконфигурировать интерфейсы класса C++ к типовому кодексу. Для получения дополнительной информации об управлении интерфейсом класса C++, смотрите, Настраивают Сгенерированные Интерфейсы Класса C++.
Требования для поддержки управления интерфейсом класса C++ следующие:
Цель должна быть выведена из системного конечного файла ERT.
Системный конечный файл должен объявить податливость управления интерфейсом класса C++, как описано в Объявлении Податливости Управления Интерфейсом Класса C++.
Для примера, который показывает, как сконфигурировать пользовательские целевые дополнительные функции, смотрите, Настраивают Системные Конечные файлы (Simulink Coder).
Чтобы объявить класс C++ соединяют интерфейсом с податливостью управления для вашей цели, необходимо реализовать функцию обратного вызова, которая устанавливает CPPClassGenCompliant
отметьте, и затем установите функцию обратного вызова в SelectCallback
поле rtwgensettings
структура в вашем системном конечном файле. Функция обратного вызова инициирована каждый раз, когда пользователь выбирает цель в Системном Браузере Конечного файла. Например, следующий системный код конечного файла устанавливает SelectCallback
функция с именем custom_select_callback_handler
:
rtwgensettings.SelectCallback = 'custom_select_callback_handler(hDlg,hSrc)';
Аргументы к SelectCallback
функция (hDlg
, hSrc
) указатели на частные данные, используемые API-функциями коллбэка. Эти указатели ограничиваются, чтобы использовать в системных функциях обратного вызова конечного файла. Они должны быть переданы в без изменения.
Ваша функция обратного вызова должна установить CPPClassGenCompliant
отметьте можно следующим образом:
slConfigUISetVal(hDlg,hSrc,'CPPClassGenCompliant','on'); slConfigUISetEnabled(hDlg,hSrc,'CPPClassGenCompliant',false);
Для получения дополнительной информации о системном API коллбэка конечного файла, смотрите slConfigUIGetVal
, slConfigUISetEnabled
, и slConfigUISetVal
страницы ссылки на функцию.
Когда CPPClassGenCompliant
целевой параметр конфигурации установлен в on
, можно использовать C++ class
упаковка интерфейса кода и кнопка Configure C++ Class Interface на панели Interface диалогового окна Configuration Parameters, чтобы сгенерировать и сконфигурировать интерфейсы класса C++ к типовому кодексу.
Выбор C++ class
интерфейс кода, группирующий для вашей модели, включает параметру конфигурации модели Generate an example main program. Когда вы выбираете этот параметр, генератор кода производит пример основная программа, ert_main.cpp
. Сгенерированный пример основная программа объявляет данные модели и вызывает интерфейс класса C++ сконфигурированный метод шага модели и иллюстрирует, как сгенерированный код может быть развернут.
Чтобы настроить процесс сборки и отключить генерацию и включение примера основная программа, смотрите setTargetProvidesMain
функция. При отключении примера основная генерация разрешает включая пользовательскую основную программу.