Код, сгенерированный для ваших функций MATLAB®, включает следующие проверки на этапе выполнения и внешние вызовы функций MATLAB.
Проверки целостности памяти
Эти проверки обнаруживают нарушения целостности памяти в коде, сгенерированном для функций MATLAB и выполнения остановки с диагностическим сообщением.
Эти проверки включены по умолчанию. Без проверок целостности памяти нарушения приводят к непредсказуемому поведению.
Скорость отклика регистрируется в коде, сгенерированном для функций MATLAB
Эти проверки включают периодические проверки на перерывы Ctrl+C в коде, сгенерированном для функций MATLAB. Включение проверок скорости отклика также включает графическое обновление.
Эти проверки включены по умолчанию. Без этих проверок единственный способ закончить продолжительное выполнение может состоять в том, чтобы отключить MATLAB.
Внешние вызовы функций MATLAB
Внешние вызовы функций MATLAB, например чтобы отобразить результаты, включены по умолчанию для отладки целей. Для получения дополнительной информации о внешних функциях, смотрите Объявление функций MATLAB как Внешние Функции.
Обычно генерация кода с проверками на этапе выполнения включила результаты в большем количестве сгенерированного кода и более медленного выполнения MEX-функции, чем генерация кода с отключенными проверками. Точно так же внешние вызовы являются трудоемкими и увеличивают использование памяти и время выполнения. Отключение проверок на этапе выполнения и внешних вызовов обычно приводит к оптимизированному сгенерированному коду и более быстрому выполнению MEX-функции. В следующей таблице перечислены проблемы, чтобы рассмотреть при отключении проверок на этапе выполнения и внешних вызовов.
Рассмотрите отключение... | Только если... |
---|---|
Проверки целостности памяти | Вы уже проверили, что границы массивов и проверка размерности являются ненужными. |
Проверки скорости отклика | Вы уверены, что не должны будете останавливать выполнение своего приложения с помощью Ctrl+C. |
Внешние вызовы | Вы используете внешние вызовы только для функций, которые не влияют на результаты приложения. |
Можно отключить проверки на этапе выполнения явным образом от диалогового окна настроек проекта, командной строки или диалогового окна настройки MEX.
Чтобы открыть диалоговое окно Generate, на Сгенерировать Кодовой странице, нажимают стрелку Generate.
Установите тип Сборки на MEX
.
Нажмите More Settings.
На вкладке Speed, ясной, Гарантируют целостность памяти, Включают скорость отклика к CTRL+C и графическому обновлению, или Сохраняют Внешние вызовы, как применимые.
В MATLAB workspace задайте объект настройки MEX:
mexcfg = coder.config('mex');
В командной строке, набор IntegrityChecks
, ExtrinsicCalls
или свойства ResponsivenessChecks
ко лжи, как применимый:
mexcfg.IntegrityChecks = false; mexcfg.ExtrinsicCalls = false; mexcfg.ResponsivenessChecks = false;