Main Content

MATLAB で MEX 関数をテストする理由

MATLAB® コードから C/C++ コードを生成する前に MEX 関数をテストして、元の MATLAB コードと同じ機能を提供していることを検証するのがベスト プラクティスです。このテストを行うには、元の MATLAB コードを実行するときに使用したのと同じ入力を使用して MEX 関数を実行して、結果を比較します。MATLAB Coder™ アプリを使用して MEX 関数をテストする方法の詳細については、アプリを使用した実行時の問題の確認およびMATLAB Coder アプリでの MEX 関数の検証を参照してください。コマンド ラインで MEX 関数をテストする方法の詳細については、コマンド ラインでの MEX 関数の検証を参照してください。

コードを生成する前に MATLAB で MEX 関数を実行することにより、生成されたコード内では診断が非常に困難な実行時のエラーを検出して修正できます。MATLAB 関数で実行時のエラーが発生した場合は、コードを生成する前に修正してください。コード生成時に検出されたエラーの修正および実行時のエラーのデバッグを参照してください。

MATLAB で MEX 関数を実行すると、既定の設定では、以下の実行時チェックが実行されます。

  • メモリの整合性チェック。これらのチェックは、配列の範囲と次元のチェックを実行し、MATLAB 関数に対して生成されたコード内のメモリ整合性の違反を検出します。違反が検出されると、MATLAB は実行を停止し、診断メッセージを表示します。

  • MATLAB 関数に対して生成されたコードでの応答性チェック。これらのチェックでは、MATLAB 関数に対して生成されたコード内で Ctrl + C ブレークを定期的にチェックでき、Ctrl + C を使って実行を終了できます。

詳細は、実行時チェックの制御を参照してください。