Проверки во время выполнения управления

Типы проверок во время выполнения

В симуляции код, сгенерированный для вашего MATLAB® функции включают следующие проверки во время выполнения и внешние вызовы функций.

  • Проверки целостности памяти

    Эти проверки обнаруживают нарушения целостности памяти в коде, сгенерированном для функций MATLAB, и останавливают выполнение с помощью диагностического сообщения.

    Внимание

    Для обеспечения безопасности эти проверки включены по умолчанию. Без проверок целостности памяти нарушения приведут к непредсказуемому поведению.

  • Проверки быстродействия кода, сгенерированного для функций MATLAB

    Эти проверки включают периодические проверки на пропуски Ctrl + C в коде, сгенерированном для функций MATLAB. Включение проверок быстродействия также включает обновление графики.

    Внимание

    Для обеспечения безопасности эти проверки включены по умолчанию. Без этих проверок единственным способом завершить длительное выполнение может быть завершение MATLAB.

  • Внешние вызовы функций MATLAB

    Внешние вызовы функций MATLAB, например, для отображения результатов, включены по умолчанию в целях отладки. Для получения дополнительной информации о внешних функциях см. Использование coder.extrinsic Конструкция.

Когда отключать проверки во время выполнения

Как правило, генерация кода с включенными проверками во время выполнения приводит к более сгенерированному коду и более медленной симуляции, чем генерация кода с отключенными проверками. Аналогичным образом внешние вызовы являются длительными и оказывают неблагоприятный эффект на эффективность. Отключение проверок во время выполнения и внешних вызовов обычно приводит к упорядоченному сгенерированному коду и более быстрой симуляции с этими оговорками:

Рассмотрите отключение...Только если...
Проверки целостности памятиВы уверены, что ваш код безопасен и что все границы массива и проверка размерности не нужны.
Проверки быстродействияВы уверены, что не нужно будет останавливать выполнение вашего приложения с помощью Ctrl+C.
Внешние вызовыВы используете только внешние вызовы функций, которые не влияют на результаты приложения.

Как отключить проверки во время выполнения

Чтобы отключить проверки во время выполнения:

  1. Задайте объект опций компилятора в рабочем пространстве MATLAB путем выдачи команды конструктора:

    comp_cfg = coder.MEXConfig

  2. Из командной строки установите IntegrityChecks, ExtrinsicCalls, или ResponsivenessChecks свойства false, если применимо:

    comp_cfg.IntegrityChecks = false;
    comp_cfg.ExtrinsicCalls = false;
    comp_cfg.ResponsivenessChecks = false;