exponenta event banner

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

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

При моделировании код, созданный для функций 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;