実行時チェックの制御
実行時チェックのタイプ
シミュレーションでは、MATLAB® 関数に対して生成されたコードには、次の実行時チェックと外部関数の呼び出しが含まれています。
メモリの整合性チェック
これらのチェックは、MATLAB 関数に対して生成されたコード内にメモリの整合性違反があればそれを検出し、実行を停止して診断メッセージを出します。
注意
安全のために、これらのチェックは既定の設定で有効になっています。メモリの整合性チェックが行われないと、違反が予期できない動作の原因になります。
MATLAB 関数に対して生成されたコードでの応答性チェック
これらのチェックによって MATLAB 関数のコード生成における Ctrl + C キーによる中断を定期的に確認できます。応答性チェックを有効にすると、グラフィックスの表示更新も有効になります。
注意
安全のために、これらのチェックは既定の設定で有効になっています。これらのチェックがなければ、長時間かかる実行を終了するには MATLAB 自体を終了させるしかなくなります。
MATLAB 関数への外部呼び出し
MATLAB 関数への外部呼び出し (たとえば、結果を表示するため) は、既定の設定ではデバッグ目的のために有効になっています。外部関数の詳細は、coder.extrinsic コンストラクトの使用を参照してください。
実行時チェックを無効にする場合
一般に、実行時チェックを有効にしてコードを生成すると、チェックを無効にした場合に比べて、コードが増え、シミュレーションの速度が落ちます。同様に、外部呼び出しは時間がかかり、パフォーマンスに悪影響を及ぼします。実行時チェックと外部呼び出しを無効にすると、通常は効率のよいコードが生成されシミュレーションの速度が上がりますが、次のことに注意する必要があります。
無効にするチェック | 無効にする場合 |
---|---|
メモリの整合性チェック | コードが安全であることが確実で、配列の範囲や次元のチェックが必要ない場合。 |
応答性チェック | Ctrl キーを押しながら C キーを押して、そのアプリケーションを停止する必要がないことが確かな場合。 |
外部呼び出し | アプリケーションの結果に影響を及ぼさない関数への外部呼び出しを使用している場合のみ。 |
実行時チェックを無効にする方法
実行時チェックを無効にするには、次の手順に従います。
コンストラクター コマンドを発行して、MATLAB ワークスペースでコンパイラ オプション オブジェクトを定義します。
comp_cfg = coder.MEXConfig
コマンド ラインから、
IntegrityChecks
、ExtrinsicCalls
、またはResponsivenessChecks
のプロパティを偽に設定します。comp_cfg.IntegrityChecks = false; comp_cfg.ExtrinsicCalls = false; comp_cfg.ResponsivenessChecks = false;