主要内容

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

coder.screener

関数がコ,ド生成に適しているかどうか判別

説明

coder.screener (fcnは,エントリポesc escントmatlab®関数fcnを解析し,コ,ド生成の準拠問題として,サポ,トされない関数および言語機能を特定します。コ,ド生成の準拠問題は準備状態のレポ,トに表示されます。

fcnがMathWorks®関数以外の関数(MATLABの組み込み関数とツールボックス関数)を直接的または間接的に呼び出すと,coder.screenerでそれらの関数が解析されます。MathWorks関数は解析されません。

coder.screenerがすべてのコ,ド生成の問題を検出できるとは限りません。状況によっては,coder.screenerが誤ったエラ,をレポ,トする場合があります。

コード生成の問題の不検出や誤ったエラーの検出を回避するには,コードを生成する前に,追加のチェックを実行してMATLABコードがコード生成に適していることを確認します。

  • coder.screenerを使用する前に、コ、ドアナラ、ザ、により特定される問題を修正してください。

  • coder.screenerを使用した後,墨西哥人関数を生成して検証することでMATLABコードがコード生成に適していることを確認してからC / c++コードを生成してください。

関数coder.screenerはコ,ドジェネレ,タ,が外部関数として扱う関数はレポ,トしません。このような関数の例として,情节disp,および数字が挙げられます。使用MATLAB引擎在生成的代码中执行函数调用を参照してください。

coder.screener (fcn, gpu)は,エントリポ恭顺器ントmatlab関数fcnを解析し,gpuコ,ド生成でサポ,トされない関数および言語機能を特定します。このオプションにはGPU Coder™ラ▪▪センスが必要です。

coder.screener (fcn_1,…,fcn_nは複数のエントリポaapl . exeントmatlab関数を解析します。

すべて折りたたむ

関数coder.screenerは,コ,ド生成でサポ,トされない関数の呼び出しを特定します。エントリポ@ @ント関数foo1foo1が呼び出す関数foo2をチェックします。

関数foo2を記述して,ファfoo2.mに保存します。

函数tf = foo2(源,目标)G =有向图(源,目标);tf = isdag(G);结束

foo2を呼び出す関数foo1を記述します。foo1をファ@ @ルfoo1.mに保存します。

函数Tf = foo1(源,目标)assert(numel(源)==numel(目标))Tf = foo2(源,目标);结束

foo1を解析します。

coder.screener (“foo1”

コード生成の準備状態のレポートに,サポートされないMATLAB関数呼び出しの概要が表示されます。レポ,トの[概要]タブで,foo2.mにコ,ド生成でサポ,トされていない関数有向图と関数isdagの呼び出しが1ず。

レポ,トで[コ,ド構造]タブをクリックして,[matlab関数の表示]チェックボックスを選択します。

このタブには,各ファイルの相対サイズと各ファイルがコード生成に適している度合いを示す円グラフが表示されます。レポ,トに表示される内容は次のとおりです。

  • グリ,ン:関数(foo1.m)はコ,ド生成に適している。

  • 黄: 関数 (foo2.m)は重要な変更が必要。

レポ,トには[呼び出しリ][コ,ド生成の準備状態のスコア]も表示されます。スコアは1 ~ 5のスケ,ルに基づきます。1は重要な変更が必要なことを示します。5はコド生成の準備状態ルで問題が検出されなかったことを示します。この例では,レポ,トで割り当てられたコ,ド生成の準備状態のスコアは,foo1.mにいては4、foo2.mに3になっています。

関数foo2が,サポ,トされないmatlab関数を2呼び出しています。墨西哥関数を生成するには,coder.extrinsic命令を使用して有向图isdagの呼び出しを外部にするようにコドを変更してから,コド生成の準備状態ルを再実行します。

函数Tf = foo2(源,目标)code .extrinsic(“有向图”“isdag”);G =有向图(源,目标);tf = isdag(G);结束

coder.screenerをエントリポ@ @ント関数foo1に対して再実行します。

coder.screener (“foo1”

レポ,トには,関数有向图と関数dagがコ,ド生成でサポ,トされないというフラグが示されなくなっています。foo1用の墨西哥人関数を生成すると,コードジェネレーターは実行用のこれら2つの関数をMATLABに送信します。

関数coder.screenerはコ,ド生成でサポ,トされないmatlab,デ,タ型を特定します。

MATLABカレンダ,duration配列デ,タ型を含む関数myfun1を記述します。

函数= myfun1(A) out = calyears(A);结束

myfun1を解析します。

coder.screener (“myfun1”);

コ,ド生成の準備状態のレポ,トに,calyearsデ,タ型はコ,ド生成でサポ,トされないことが示されます。

レポ,トでmyfun1に割り当てられたコ,ド生成の準備状態のスコアは3.になっています。コ,ドを生成する前に,報告された問題を修正します。

入力引数

すべて折りたたむ

解析するエントリポaapl . exeントmatlab関数の名前。文字ベクトルまたは string スカラーとして指定します。

例:coder.screener(“myfun”);

デ,タ型:字符|字符串

解析するエンドポaapl . exeントmatlab関数の名前のコンマ区切りリスト。文字ベクトルまたは字符串スカラ,として指定します。

例:coder.screener(“myfun1”、“myfun2”);

デ,タ型:字符|字符串

制限

  • 関数coder.screenerMATLAB在线™でサポ,トされていません。

R2012bで導入