MATLAB コード解析
C/C++ コード生成を妨げる MATLAB® コードでの問題の特定と修正
MATLAB コードからの C/C++ コード生成の成功は、コード生成の規則と制限への準拠に左右されます。たとえば、MATLAB コードでは、コード生成がサポートされている MATLAB 関数とツールボックス関数のみを使用しなければなりません。MATLAB コードの問題を特定して修正するために、C/C++ コード生成の前にコード アナライザーおよびコードの準備状態ツールを使用できます。MATLAB コードによって、予想どおりに動作する生成されたコードが作成されることを確認するには、MATLAB 環境で実行可能でありテスト可能な MEX 関数を生成して実行します。
関数
coder.runTest | MATLAB 関数の呼び出しを MEX 関数の呼び出しで置き換えてテストを実行する |
coder.screener | 関数がコード生成に適しているかどうか判別 |
getLineColumn | コード生成に関連する MATLAB コードの最初と最後の位置の特定 |
textReport | Export code generation readiness report to base workspace as a character vector |
プロパティ
coder.CallSite のプロパティ | MATLAB コード内の関数呼び出しサイトに関する情報 |
coder.CodeFile のプロパティ | コード生成に関連する、テキストを含むファイルの記述 |
coder.File のプロパティ | コード生成に関連する、テキストを含まないファイルの記述 |
coder.Message のプロパティ | コード生成の準備状態の解析時またはコード生成時に生成されたメッセージの記述 |
coder.ScreenerInfo Properties | Code generation readiness information |
トピック
MATLAB コードの解析の基礎
- コード生成のために MATLAB コードを準備するワークフロー
C/C++ コード生成またはコード高速化のために MATLAB コードを準備します。 - 検出されたエラーの設計時の修正
コード アナライザーで検出されたエラーを修正します。 - コード生成時に検出されたエラーの修正
コード生成レポートに表示されるエラーと警告を修正します。 - デバッグ方法
コード生成に適さないコードを検出して修正する手法を選択します。 - MATLAB Coder によって生成された MEX 関数の使用方法
MATLAB 関数を高速化したり、生成されたコードの機能と実行時の問題をテストしたりします。 - Debug Generated C/C++ Code
Debug standalone C/C++ code generated from your MATLAB code.
コード アナライザー
- コード アナライザーの使用
設計時に MATLAB コード違反がないかどうかチェックします。 - コード アナライザーによるコードのチェック
MATLAB エディターで MATLAB コード違反をチェックします。
コードの準備状態ツール
- コード生成の準備状態ツール
コード生成の準備状態ツールでは、MATLAB コード内にコード生成でサポートされない機能や関数がないかどうかを調べることができます。 - MATLAB Coder アプリでのコード生成の準備状態のスクリーニング
アプリにより MATLAB コードでサポートされていない機能と関数がスクリーニングされます。 - コード生成の準備状態ツールを使ったコードのチェック
コマンド ラインで、現在のフォルダー ブラウザーまたはアプリから、コード生成の準備状態ツールを実行します。
MEX 関数テスト
- MATLAB での MEX 関数のテストのワークフロー
C/C++ コードを生成する前に MEX 関数をテストします。 - MATLAB で MEX 関数をテストする理由
MEX 関数をテストして、それが元の MATLAB コードと同じ機能を提供するかどうか検証します。 - MATLAB Coder アプリを使用した MEX 関数の生成
MATLAB Coder™ アプリを使用して MEX 関数を生成するワークフローに従います。 - コマンド ラインでの MEX 関数の生成
codegen
を使用して MEX 関数を生成するワークフローに従います。 - アプリを使用した実行時の問題の確認
生成されたスタンドアロン C/C++ コード内で発見しにくい問題を検出して修正します。 - MEX 関数の実行とデバッグ
元の MATLAB 関数を呼び出す場合と同じ方法で MEX 関数を呼び出します。 - MATLAB コードの行の実行回数の収集および表示
MATLAB コードで生成された MEX コードがテストでどの程度実行されているかを確認します。 - 実行時のエラーのデバッグ
生成された MEX 関数を使用して問題をデバッグします。
トラブルシューティング
- コード生成の準備状態を判断できない場合
エントリポイント ファイルが見つからない場合、コード生成の準備状態ツールが失敗します。 - MATLAB Coder プロジェクトを開くことができない
バックアップ プロジェクト ファイルを使用して以前のリリースの形式に戻します。 - MATLAB Coder アプリにおける時間がかかる動作
コード生成の準備状態のスクリーニングを無効にします。 - エラーの解決: コード生成でサポートされていない関数
サポートされていない MATLAB 関数のコード生成に関する問題のトラブルシューティング。