主要内容

このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。

アプリを使用した実行時の問題の確認

MATLAB®コードのスタンドアロンC / c++コードを生成する前に,エントリポイント関数から墨西哥人関数を生成することをお勧めします。墨西哥人関数を実行することにより,生成されたコード内では診断が困難な実行時エラーを検出して修正できるようになります。また,墨西哥人が元のMATLABコードと同じ機能を提供していることを確認しやすくなります。

MATLAB编码器™アプリで,MATLABコードの墨西哥人関数を生成して実行するには,(実行時の問題の確認]ステップを実行します。

  1. エントリポイント関数を呼び出す関数またはスクリプトを記述します。(入力の型を定義]ステップで入力の型を自動的に定義するために使用するのと同じテストファイル(複数でも可)を使用できます。

  2. [ソースファイルの選択]ステップと(入力の型を定義]ステップを完了します。(入力の型を定義]ページで,(次へ]をクリックして(実行時の問題の確認]ステップに進みます。

  3. テストファイルを指定します。前のステップでは,入力の型を自動的に生成した場合,ダイアログボックスにテストファイルが自動的に設定されます。テストファイルの代わりに,エントリポイント関数を呼び出すコードを入力できます。ただし,テストファイルを指定することをお勧めします。

  4. [問題の確認]をクリックします。アプリにより MATLAB 関数から MEX 関数が生成されます。MATLAB エントリポイント関数の呼び出しを生成された MEX 関数の呼び出しで置き換えたうえで、指定したテストが実行されます。[エラー]タブには墨西哥人の生成またはビルドエラーが報告されます。[テスト出力)タブには墨西哥人実行時エラーが報告されます。

  5. エラーが報告される場合にMATLABコードを編集するには,[エラーの表示)をクリックします。

  6. 問題の修正後にテストに戻るには,[問題の確認]をクリックします。

MATLAB编码器アプリは,MATLAB在线™でサポートされていません。

MATLAB行の実行回数の収集

アプリが墨西哥人関数を実行すると,MATLABコードの行に対応する墨西哥人コードの実行回数がカウントされます。問題が検出されない場合,これらの行の実行回数が表示されます。行の実行回数は,MATLABコードがテストでどのように実行されているかを知るために役立ちます。今後のテストで必要なデッドコードまたはコードのセクションを特定できます。MATLABコードの行の実行回数の収集および表示を参照してください。

並列ループのためのJITコンパイルの無効化

既定の設定では,アプリは墨西哥人関数の生成を高速化するために准时制(JIT)コンパイルの使用を試みます。JITコンパイルは,カスタムコードやOpenMPライブラリの使用など,特定のコード生成機能やオプションと互換性がありません。アプリでJITコンパイルを使用できない場合,C / c++墨西哥人関数が代わりに生成されます。コードでparforを使用し,(可能な場合はOpenMPライブラリを有効にする][はい]に設定されている場合,アプリはJITコンパイルを使用してparforループをループとして処理します。(実行時の問題の確認]ステップでループを並列実行する場合は,JITコンパイルを無効にします。

  1. (実行時の問題の確認]ページで[設定]をクリックします。

  2. [すべての設定)タブで,[[実行時の問題の確認]でJITコンパイルを使用)[いいえ]に設定します。

関連するトピック