Код, сгенерированный для MATLAB® функции включают следующие проверки во время выполнения и внешние вызовы функций MATLAB.
Проверки целостности памяти
Эти проверки обнаруживают нарушения целостности памяти в коде, сгенерированном для функций MATLAB, и останавливают выполнение с помощью диагностического сообщения.
Внимание
Эти проверки включены по умолчанию. Без проверок целостности памяти нарушения приводят к непредсказуемому поведению.
Проверки быстродействия кода, сгенерированного для функций MATLAB
Эти проверки включают периодические проверки на пропуски Ctrl + C в коде, сгенерированном для функций MATLAB. Включение проверок быстродействия также включает обновление графики.
Внимание
Эти проверки включены по умолчанию. Без этих проверок единственным способом завершить длительное выполнение может быть завершение MATLAB.
Внешние вызовы функций MATLAB
Внешние вызовы функций MATLAB, например, для отображения результатов, включены по умолчанию в целях отладки. Для получения дополнительной информации о внешних функциях см. Использование coder.extrinsic Конструкция.
Как правило, генерация кода с включенными проверками во время выполнения приводит к большему количеству сгенерированного кода и более медленному выполнению MEX-функции, чем генерация кода с отключенными проверками. Аналогичным образом внешние вызовы являются длительными и увеличивают использование памяти и время выполнения. Отключение проверок во время выполнения и внешних вызовов обычно приводит к оптимизации сгенерированного кода и более быстрому выполнению MEX-функции. В следующей таблице перечислены проблемы, которые необходимо учитывать при отключении проверок во время выполнения и внешних вызовов.
Рассмотрите отключение... | Только если... |
---|---|
Проверки целостности памяти | Вы уже проверили, что ограничения массивов и проверка размерностей ненужны. |
Проверки быстродействия | Вы уверены, что вам не нужно будет останавливать выполнение вашего приложения с помощью Ctrl + C. |
Внешние вызовы | Вы используете внешние вызовы только для функций, которые не влияют на результаты приложения. |
Можно явным образом отключить проверки во время выполнения из диалогового окна параметров проекта, командной строки или диалогового окна строения MEX.
Чтобы открыть диалоговое окно Generate, на странице Generate Code щелкните стрелу Generate.
Установите Build type значение MEX
.
Нажмите More Settings.
На вкладке Speed удалите Ensure memory integrity, Enable responsiveness to CTRL+C and graphics refreshing или Keep Extrinsic calls, если применимо.
В рабочем пространстве MATLAB задайте объект строения MEX:
mexcfg = coder.config('mex');
В командной строке установите IntegrityChecks
, ExtrinsicCalls
, или ResponsivenessChecks
свойства для false, если применимо:
mexcfg.IntegrityChecks = false; mexcfg.ExtrinsicCalls = false; mexcfg.ResponsivenessChecks = false;