В этом разделе описывается настройка настраиваемого встроенного целевого объекта для поддержки управления уровнем оптимизации компилятора. Без описанных изменений нельзя использовать параметр конфигурации модели Compiler optimization level для управления уровнем оптимизации компилятора для создания сгенерированного кода. Дополнительные сведения об управлении уровнем оптимизации компилятора см. в разделе Уровень оптимизации компилятора.
Требования к поддержке управления уровнем оптимизации компилятора следующие:
Цель должна быть получена из цели GRT или цели ERT.
Системный целевой файл должен объявлять соответствие контролю уровня оптимизации компилятора, как описано в разделе Объявление соответствия контролю уровня оптимизации компилятора.
Целевой файл макета должен соответствовать параметру конфигурации модели Уровень оптимизации компилятора, как описано в разделе Обеспечение поддержки уровня управления оптимизацией компилятора в целевом файле макета.
Пример настройки настраиваемых целевых дополнительных функций см. в разделе Настройка системных целевых файлов.
Чтобы объявить соответствие управления уровнем оптимизации компилятора для целевого объекта, необходимо реализовать функцию обратного вызова, которая устанавливает CompOptLevelCompliant флаг, а затем установите функцию обратного вызова в SelectCallback области rtwgensettings структура в целевом системном файле. Функция обратного вызова запускается всякий раз, когда пользователь выбирает целевой объект в обозревателе системных целевых файлов. Например, следующий код целевого файла системы устанавливает SelectCallback функция с именем custom_select_callback_handler:
rtwgensettings.SelectCallback = 'custom_select_callback_handler(hDlg,hSrc)';
Аргументы для SelectCallback функция (hDlg, hSrc) являются дескрипторами личных данных, используемых функциями API обратного вызова. Эти дескрипторы ограничены для использования в функциях обратного вызова целевого файла системы. Они должны быть переданы без изменений.
Функция обратного вызова должна установить CompOptLevelCompliant флаг следующим образом:
slConfigUISetVal(hDlg,hSrc,'CompOptLevelCompliant','on'); slConfigUISetEnabled(hDlg,hSrc,'CompOptLevelCompliant',false); hSrc.refreshDialog;
Дополнительные сведения об API обратного вызова целевого файла см. в разделе slConfigUIGetVal, slConfigUISetEnabled, и slConfigUISetVal страницы ссылок на функции.
Когда CompOptLevelCompliant целевой параметр конфигурации имеет значение on, параметр уровня оптимизации компилятора отображается на панели Создание кода (Code Generation) диалогового окна Параметры конфигурации (Configuration Parameters) для модели.
В рамках поддержки управления уровнем оптимизации компилятора для целевого объекта необходимо изменить целевой файл make в соответствии с настройками параметра конфигурации модели Уровень оптимизации компилятора. Используйте цель GRT или ERT, предоставленную MathWorks, в качестве модели для внесения изменений.