Создание отчетов о потенциальных различиях

Генерация эффективного кода 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.

Похожие темы