exponenta event banner

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

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

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

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

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

    Внимание

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

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

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

    Внимание

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

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

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

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

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

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

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

Проверки времени выполнения можно отключить явно из диалогового окна параметров проекта, командной строки или диалогового окна конфигурации MEX.

Отключение проверок времени выполнения с помощью приложения кодера MATLAB

  1. Чтобы открыть диалоговое окно «Генерация», на странице «Генерация кода» щелкните стрелку «Генерация».

  2. Задать для типа построения значение MEX.

  3. Щелкните Дополнительные параметры.

  4. На вкладке «Скорость» снимите флажки «Обеспечить целостность памяти», «Включить отклик на CTRL + C и обновление графики» или «Сохранить внешние вызовы».

Отключение проверок времени выполнения из командной строки

  1. В рабочей области MATLAB определите объект конфигурации MEX:

    mexcfg = coder.config('mex');

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

    mexcfg.IntegrityChecks = false;
    mexcfg.ExtrinsicCalls = false;
    mexcfg.ResponsivenessChecks = false;