潜在的な相違点のレポート
MATLAB® コードから効率の良い C/C++ コードを生成すると、生成されたコードと MATLAB コード間の動作に違いが生じる場合があります。プログラムを実行すると、実行時エラー チェックで次の相違点が検出される可能性があります。実行時エラー チェックは既定では次のようになります。
コードを展開する前に相違点を識別して解決できるように、コード ジェネレーターは、"潜在的な相違" として相違点のサブセットを報告します。潜在的な相違とは、特定の状況にある場合にのみ実行時に生じる違いです。
潜在的な相違メッセージの解決
コード ジェネレーターで潜在的な相違を検出すると、レポートの [潜在的な相違] タブに相違点を示すメッセージが表示されます。MATLAB Coder アプリを使用してコードを生成する場合は、アプリ自体の [潜在的な相違] タブでメッセージを確認できます。メッセージに対応する MATLAB コードを強調表示するには、メッセージをクリックします。
潜在的な相違メッセージが示されても、必ずしも生成されたコードの実行時に相違が生じるわけではありません。潜在的な相違がアプリケーションに影響を与えるかどうか判断するには、次を行います。
アプリケーションのデータの範囲に対して MATLAB コードの動作を解析します。
MATLAB コードから生成された MEX 関数をテストします。アプリケーションで使用するデータの範囲を使用します。相違が生じた場合、MEX 関数でエラーが報告されます。
報告された相違が解析やテストで確認されたら、コードの変更を検討してください。潜在的な相違メッセージには、回避方法が示されるものがあります。潜在的な相違メッセージの詳細については、潜在的な相違メッセージを参照してください。コードを変更して実行時に相違が生じないようにしても、コード ジェネレーターで潜在的な相違が報告される場合があります。
コード ジェネレーターで検出される一連の潜在的な相違は、MEX 関数でエラーとして報告される相違のサブセットです。アプリケーション データの全範囲に対して MEX 関数をテストすることをお勧めします。
MATLAB Coder の潜在的な相違のレポートの無効化と有効化
既定では、潜在的な相違のレポートは次に対して有効化されています。
codegen
コマンドを使用したコードの生成MATLAB Coder アプリの [実行時の問題の確認] 手順
潜在的な相違のレポートを無効にするには、次を行います。
コード構成オブジェクトで、
ReportPotentialDifferences
をfalse
に設定します。MATLAB Coder アプリの [デバッグ] 設定で、[MATLAB との相違点をレポート] チェック ボックスをオフにします。
既定では、潜在的な相違のレポートは [コード生成] 手順および MATLAB Coder アプリのコード生成レポートで無効化されています。潜在的な相違のレポートを有効にするには、[デバッグ] 設定で、[MATLAB との相違点をレポート] チェック ボックスを選択します。
Fixed-Point Designer の潜在的な相違のレポートの無効化と有効化
既定では、潜在的な相違のレポートは、fiaccel
を使用するコード高速化に対して有効になっています。これを無効にするには、コード高速化のための構成オブジェクトで、ReportPotentialDifferences
を false
に設定します。