В симуляции код, сгенерированный для вашего MATLAB® функции включают следующие проверки во время выполнения и внешние вызовы функций.
Проверки целостности памяти
Эти проверки обнаруживают нарушения целостности памяти в коде, сгенерированном для функций MATLAB, и останавливают выполнение с помощью диагностического сообщения.
Внимание
Для обеспечения безопасности эти проверки включены по умолчанию. Без проверок целостности памяти нарушения приведут к непредсказуемому поведению.
Проверки быстродействия кода, сгенерированного для функций MATLAB
Эти проверки включают периодические проверки на пропуски Ctrl + C в коде, сгенерированном для функций MATLAB. Включение проверок быстродействия также включает обновление графики.
Внимание
Для обеспечения безопасности эти проверки включены по умолчанию. Без этих проверок единственным способом завершить длительное выполнение может быть завершение MATLAB.
Внешние вызовы функций MATLAB
Внешние вызовы функций MATLAB, например, для отображения результатов, включены по умолчанию в целях отладки. Для получения дополнительной информации о внешних функциях см. Использование coder.extrinsic Конструкция.
Как правило, генерация кода с включенными проверками во время выполнения приводит к более сгенерированному коду и более медленной симуляции, чем генерация кода с отключенными проверками. Аналогичным образом внешние вызовы являются длительными и оказывают неблагоприятный эффект на эффективность. Отключение проверок во время выполнения и внешних вызовов обычно приводит к упорядоченному сгенерированному коду и более быстрой симуляции с этими оговорками:
Рассмотрите отключение... | Только если... |
---|---|
Проверки целостности памяти | Вы уверены, что ваш код безопасен и что все границы массива и проверка размерности не нужны. |
Проверки быстродействия | Вы уверены, что не нужно будет останавливать выполнение вашего приложения с помощью Ctrl+C. |
Внешние вызовы | Вы используете только внешние вызовы функций, которые не влияют на результаты приложения. |
Чтобы отключить проверки во время выполнения:
Задайте объект опций компилятора в рабочем пространстве MATLAB путем выдачи команды конструктора:
comp_cfg = coder.MEXConfig
Из командной строки установите IntegrityChecks
, ExtrinsicCalls
, или ResponsivenessChecks
свойства false, если применимо:
comp_cfg.IntegrityChecks = false; comp_cfg.ExtrinsicCalls = false; comp_cfg.ResponsivenessChecks = false;