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