Генерация эффективного кода C/C++ из кода MATLAB® иногда приводит к различиям в поведении между сгенерированным кодом и кодом MATLAB. Когда вы запускаете свою программу, проверки ошибки времени выполнения могут обнаружить некоторые из этих различий. По умолчанию проверки ошибки времени выполнения включены для кода MEX и отключены для автономного кода C/C++. Чтобы помочь вам идентифицировать и обратиться к различиям прежде чем, вы развертываете код, генератор кода сообщает о подмножестве различий как разности потенциалов. Разность потенциалов является различием, которое происходит во время выполнения только при определенных обстоятельствах.
Если генератор кода обнаруживает разность потенциалов, он отображает сообщение для различия на вкладке Potential Differences отчета или приложения MATLAB Coder™. Чтобы подсветить код MATLAB, который соответствует сообщению, кликните по сообщению.
Присутствие сообщения разности потенциалов не обязательно означает, что различие произойдет, когда вы запустите сгенерированный код. Чтобы определить, влияет ли разность потенциалов на ваше приложение:
Анализируйте поведение своего кода MATLAB для области значений данных для вашего приложения.
Протестируйте MEX-функцию, сгенерированную из вашего кода MATLAB. Используйте область значений данных, которые использует ваше приложение. Если различие происходит, MEX-функция сообщает об ошибке.
Если ваш анализ или тестирование подтверждают различие, о котором сообщают, рассмотрите изменение вашего кода. Некоторые сообщения разностей потенциалов обеспечивают обходное решение. Для получения дополнительной информации о некоторых сообщениях разностей потенциалов см. сообщения Разностей потенциалов. Даже если вы изменяете свой код, чтобы препятствовать тому, чтобы различие произошло во время выполнения, генератор кода может все еще сообщить о разности потенциалов.
Набор разностей потенциалов, которые обнаруживает генератор кода, является подмножеством различий, о которых MEX-функции сообщают как ошибки. Это - лучшая практика протестировать MEX-функцию по полному спектру данных приложения.
По умолчанию для создания отчетов разностей потенциалов включают:
Генерация кода с командой codegen
Проверка на Проблемы Во время выполнения продвигается в приложение MATLAB CODER
Отключить создание отчетов разностей потенциалов:
В объекте настройки кода, набор ReportPotentialDifferences
к false
.
В приложении MATLAB CODER, в Настройках отладки, очищают различия в Отчете от флажка MATLAB.
По умолчанию создание отчетов разностей потенциалов отключено для Сгенерировать шага кода и отчета генерации кода в приложении MATLAB CODER. Чтобы включить создание отчетов разностей потенциалов, в Настройках отладки, выбирают различия в Отчете от флажка MATLAB.