主要内容

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

编码器。CodeConfig

MATLABコードからC / c++コードを生成するための構成パラメーター

説明

编码器。CodeConfigオブジェクトには,スタティックライブラリ,ダイナミックリンクライブラリ,実行可プログラムを生成するためcodegenが使用する構成パラメーターが含まれます。配置オプションを使用して,オブジェクトを関数codegenに渡します。

作成

説明

cfg = coder.config(build_typeは,指定したビルドタイプのコード生成構成オブジェクトを作成します。ビルドタイプには、スタティック ライブラリ、ダイナミック リンク ライブラリ、または実行可能プログラムを指定できます。Embedded Coder®製品がインストールされていない場合,编码器。CodeConfigオブジェクトが作用成されます。それ以外の場合は编码器。EmbeddedCodeConfigオブジェクトが作用成されます。

cfg = coder.config(build_type“是”,假)は、嵌入式编码器がインストールされていても,指定された出力タイプの编码器。CodeConfigオブジェクトを作用成し。

入力引数

すべて展開する

c / c ++コードからビルドするするする次表のかとして指定します。

説明
“自由” スタティックライブラリ
“DLL” ダイナミックリンクライブラリ
EXE” 実行可能プログラム

プロパティ

すべて展開する

コンパイラの最適化またはツールチェーンのデバッグ設定。次の表のいずれかの値として指定します。

説明
“加快构建”

ビルドを最適化して,ビルド時間を短縮します。

“快跑”

ビルドを最適化して実行可能ファイルの実行を迅速化します。

“调试”

ビルドをデバッグ用に最適化します。

“指定”

选択选択したツールツールチェーン内のツールの设定をカスタマイズににCustomToolchainOptionsプロパティを有効にします。工具链プロパティが“自动定位安装的工具链”に設定されると,BuildConfiguration“指定”に設定することで,工具链が特定された位置にあるツールチェーンに変更されます。

生成コードのコード置換ライブラリ。次の表のいずれかの値として指定します。

説明
“没有”

この値が既定値です。

コード置換ライブラリを使用しません。

名称付きのコード置换置换

特定のプラットフォーム,コンパイラまたは標準のコード置換ライブラリへの呼び出しを生成します。名前付きライブラリのリストは以下に応じて変わります。

  • インストールされているサポートパッケージ。

  • システムターゲットファイル,言語,標準数学ライブラリ,デバイスベンダー構成。

  • 嵌入式编码器製品を使用してコード置換ライブラリを作成して登録したかどうか。

互換性のあるライブラリは以下のパラメーターに依存します。

  • TargetLang

  • TargetLangStandard

  • ハードウェア実行構成オブジェクトのProdHWDeviceType

嵌入式编码器はより多くのライブラリを提供し,カスタムコード置換ライブラリの作成と使用を可能にします。

MATLAB®编码器™は,選択されたコード置換ライブラリが必要とする最低限のヘッダーファイル用# includeステートメントを生成します。

このパラメーターを設定する前に,使用するライブラリがコンパイラでサポートされていることを確認してください。コンパイラでサポートされていないパラメーター値を選択した場合,コンパイラエラーが発生することがあります。

メモ

MATLAB编码器ソフトウェアはTLCコールバックをサポートしません。

コンパイル時の再帰による関数の特殊化の最大的数。正の整数として指定します。MATLABコード内で再帰が許可されないようにするには、CompileTimeRecursionLimitを0に设定します。コンパイル时の再帰帰既定既定は,このタイプの再帰を必要するの再帰再帰ですできい値値です。する融合にコンパイルコンパイルの再帰が必要ときは,限定値を高くます。あるいは,コードジェネレーターが実し。コンパイル時の再帰限界値に達するを参照してください。

定数畳み込みが実行する命令の最大的数。状況によっては,コード生成で特定の命令を定数にする必要があります。これらの命令で定数畳み込みが行われる前に定数畳み込みが停止した場合,コードの生成は失敗します。この場合は,constantfoldingtimeout.の値を増やします。

生成コードのMATLAB编码器の最適化を参照してください。

CppInterfaceStyle“方法”に设定してc ++コードを生成する际インターフェイスクラスの名。CppInterfaceClassNameで指定された名前をもつc++クラスに含まれているメソッドで構成されています。CppInterfaceStyle“功能”に設定した場合,このプロパティの効果はありません。

クラスインターフェイスをもつc++コードの生成を参照してください。

コードの生成元であるMATLABエントリポイント関数の生成されたc++コードに対するインターフェイスのスタイル。既定では,エントリポイント関数はc++関数になります。“方法”を選択した場合,エントリポイント関数はc++クラスのメソッドになります。プロパティCppInterfaceClassNameを使用してクラスの名前を指定します。

クラスインターフェイスをもつc++コードの生成を参照してください。

依存関係:

  • TargetLang“c++”に設定すると,このパラメーターが有効になります。

MATLABコード内のパッケージに対応するc++名前空間を生成するかどうか。次の表のいずれかの値として指定します。

説明
真正的

この値が既定値です。

コードジェネレーターは,MATLABコード内のパッケージに対応するc++名前空間を生成します。生成されたc++コードの名前空間への整理を参照してください。

错误的

コードジェネレーターは,MATLABコード内のパッケージに対応するc++名前空間を生成しません。

依存関係:

  • TargetLang“c++”に設定すると,このパラメーターが有効になります。

データ型:逻辑

生成されたC ++コードの名前空间。空でない文章ベクトルを指定ない限制,コードジェネレーターは名前空间

生成されたc++コードの名前空間への整理を参照してください。

依存関係:

  • TargetLang“c++”に設定すると,このパラメーターが有効になります。

MathWorksコードに対して生成されたc++コードの名前空間。このプロパティを空の文字ベクトルとして指定した場合、コード ジェネレーターはこのような名前空間を生成しません。

生成されたc++コードの名前空間への整理を参照してください。

依存関係:

  • TargetLang“c++”に設定すると,このパラメーターが有効になります。

データ型:字符

MATLABクラスに対応するc++クラスとCスタイルの構造体のどちらを生成するか。次の表のいずれかの値として指定します。

説明
真正的

この値が既定値です。

コードジェネレーターはMATLABクラスに対応するc++クラスを生成します。MATLABクラスに対応するc++クラスの生成を参照してください。

错误的

コードジェネレーターはMATLABクラスに対応するCスタイルの構造体を生成します。

依存関係:

  • TargetLang“c++”に設定すると,このパラメーターが有効になります。

データ型:逻辑

MATLABコードの特定の低水準なベクトルおよび行列演算に対して生成されたコードの巴拉斯ライブラリ呼び出し用コールバッククラス。文字ベクトルとして指定します。

布拉斯特区コールバッククラスを特定の低水準なベクトルと行列関数で指定する場合,コードジェネレーターは巴拉斯ライブラリへのCBLAS Cインターフェイスを使用して,布拉斯特区呼び出しを生成します。コールバッククラスは,CBLASヘッダーファイルの名前,CBLASデータ型の名前,および巴拉斯ライブラリへのリンクに必要な情報を提供します。このパラメーターが空の場合,コードジェネレーターは巴拉斯呼び出しの代わりに行列関数のコードを生成します。

生成されたスタンドアロンコードでの巴拉斯呼び出しを使用した行列演算の高速化を参照してください。

MATLABコードで関数FFTに対して生成されたコードのFFTWライブラリ呼び出しのコールバッククラス。文字ベクトルとして指定します。

FFT関数の実行速度を改善するために,コードジェネレーターは,コールバッククラスで指定するFFTWライブラリの呼び出しを生成します。このパラメーターが空である場合、コード ジェネレーターは FFTW ライブラリを呼び出す代わりに、FFT 関数に対して独自のアルゴリズムを使用します。

生成さされたスタンドアロンコードでfftwライブラリ呼び出しを呼び出し使使た高度フーリエフーリエ高级を参照してください。

MATLABコードから生成された各C / c++ヘッダーファイル(rtwtypes.hおよびrtwhalf.hを除く)の最上部近くに表示されるカスタムコード。文字ベクトルとして指定します。

生成コードのコンパイル时にパスパスに追インクルードフォルダーフォルダーのリストを字字字として指定しし指定指定しますますででは.pathsep文件字でますます。

cfg = coder.config('lib','ecoder',false);cfg.custominclude = ['c:\ project'pathsep'c:\自定义文件'];

生成された初期化関数に含めるカスタムコード。文字ベクトルとして指定します。

MATLABコードの特定の線形代数に対して生成されたコードのLAPACKライブラリ呼び出しのコールバッククラス。文字ベクトルとして指定します。

Lapackコールバックコールバッククラスを指定指定,特点の线路数关节数では,コードジェネレーターがlapackライブラリライブラリへlapackecインターフェイスを使しlapack呼び出しを生成しますコールバッククラスは,lapackeヘッダーの名前lapackライブラリへへのリンクににな情情提供しししこのこのが空ののの场场,ジェネレータージェネレーターlapack呼び出し呼び出し幂关节数关节数关节。

生成さされたスタンドスタンドコードでlapack呼び出し呼び出しをした形形形数の高度化を参照してください。

生成コードにリンクするスタティックライブラリファイル。文字ベクトルとして指定します。文字ベクトルでは,ライブラリ ファイル名をpathsep文件で区切ります。

コンパイルして生成コードにリンクするソースファイル。文字ベクトルとして指定します。文字ベクトルでは,ソース ファイル名をpathsep文件で区切ります。

ビルドプロセスは最初に現在のフォルダー内でソースファイルを探してから,CustomIncludeに指定したインクルードフォルダーで探し探します。

たとえば,foo.cppをソースファイルとして指定するとします。Foo.c.foo.cppの両方が検索パスにある場合,ビルドプロセスがFoo.c.foo.cppのどちらを使用するか断定できません。

生成された各. cまたは. cppファイル(rtwhalf.cまたはrtwhalf.cppを除く)の最上部付近,関数の外側にコードが表示されるよう指定します。文字ベクトルとしてコードを指定します。

C静的関数の定義は指定しないでください。

生成された終了関数に表示されるコード。文字ベクトルとして指定します。

選択したツールチェーンのツールに対するカスタム設定。细胞配列として指定します。

依存関係:

  • 工具链プロパティは、细胞配列に表示されるツールとオプションを決定する。

  • BuildConfigurationプロパティを指定に設定すると,CustomToolchainOptionsが有効化される。

最初に,現在の設定を取得します。次に例を示します。

cfg = coder.config(“自由”);cfg。BuildConfiguration =“指定”;opt = cfg.customtoolchainoptions.

次に,选择の値を编集します。

これらの値はツールチェーン定義ファイルおよびサードパーティコンパイラオプションから派生します。カスタムツールチェーンの登录を参照してください。

生成コードのデータ型置換。次の表のいずれかの値として指定します。

説明
“CBuiltIn”

この値が既定値です。

コードジェネレーターは組み込みのCデータ型を使用します。

“CoderTypeDefs” コードジェネレーターはrtwtypes.hから事前定义されたデータ型を使用します。

深層学習ネットワークのコード生成の構成オブジェクト。编码器。MklDNNConfigオブジェクトまたは编码器。ARMNEONConfigオブジェクトとして指定します。

编码器。MklDNNConfigオブジェクトには,英特尔®MKL-DNNを使用した深層学習用のc++コード生成に固有のパラメーターが含まれています。编码器。MklDNNConfigオブジェクトを作成するには,coder.deeplearningconfigを使用します。以下に例を示します。

cfg = coder.config(墨西哥人的);cfg。TargetLang =“c++”;cfg。DeepLearningConfig =编码器。DeepLearningConfig (“mkldnn”);

编码器。ARMNEONConfigオブジェクトには,手臂®Compute Libraryをを用ししたた习习习のの生成に固のが含まれています。编码器。ARMNEONConfigオブジェクトを作成するには,coder.deeplearningconfigを使用します。以下に例を示します。

cfg = coder.config(“自由”);cfg。TargetLang =“c++”;cfg。DeepLearningConfig =编码器。DeepLearningConfig (“arm-compute”);

深層学習ネットワークのコード生成には深度学习工具箱™および深度学习库的MATLAB编码器接口サポートパッケージが必要です。

MKL-DNNを使用した,深層学習ネットワークのためのコード生成および臂计算库を使用した,深層学習ネットワークのためのコード生成を参照してください。

依存関係:DeepLearningConfigを設定すると,codegenTargetLangc++に设定されます。

オブジェクトの説明。文字ベクトルとして指定します。

動的メモリ割り当てモード。次の表のいずれかの値として指定します。

説明
“阈值”

この値が既定値です。

コードジェネレーターは,サイズ(バイト単位)がDynamicMemoryAllocationThreshold以上である可変サイズ配列に対しては,ヒープ上でメモリを動的に割り当てます。

“AllVariableSizeArrays” コードジェネレーターは,ヒープ上ですべての可変サイズ配列のメモリを动的に割り当てます。
“关闭”

コードジェネレーターは,スタック上で可変サイズ配列のメモリを静的に割り当てます。

制限のない可変サイズの配列では動的なメモリ割り当てが必要です。

依存関係:

  • EnableVariableSizingにより,このパラメーターが有效ににます。

  • このDynamicMemoryAllocation“阈值”に設定すると,DynamicMemoryAllocationThresholdパラメーターが有効になります。

可変サイズデータのためのコード生成を参照してください。

生成されたC / c++関数のインターフェイスにおける動的に割り当てられた配列の実装。次の表のいずれかの値として指定します。

説明
“汽车”

これは既定値です。TargetLangパラメーターを“c++”または“C”に設定した場合,この値はそれに応じて同じオプションとして動作します。

“C”

生成されたコードは,CスタイルのemxArrayデータ构造体を使用して动的に割り当てられた配列を実装します。生成された関数インターフェイスでのC配列の使用を参照してください。

“c++”

TargetLangパラメーターを“C”に設定した場合は,この値は無効になります。

そうでない場合,生成されたコードは,编码器:: Array.クラステンプレートを使用して动的に割り当てられた配列を実装します。生成された関数インターフェイスでの動的に割り当てられたc++配列の使用を参照してください。

依存関係:

  • EnableVariableSizingにより,このパラメーターが有效ににます。

可変サイズの配列の動的なメモリ割り当てのサイズしきい値。正の整数として指定します。コードジェネレーターでは,しきい値以上のサイズ(バイト)をもつ可変サイズの配列に動的メモリ割り当てを使用します。

依存関係:

  • DynamicMemoryAllocation“阈值”に設定すると,このパラメーターが有効になります。

可変サイズデータのためのコード生成を参照してください。

自動的な外部関数呼び出し。次の表のいずれかの値として指定します。

説明
真正的

この値が既定値です。

コードコードは,一般一体的な可化を外部关键词。coder.extrinsicを使用してこれらの関数を外部関数として宣言する必要はありません。この機能を使用すると、コードがコード生成に適するようになるまでの時間が短縮されます。

错误的 一般的な可視化関数をcoder.extrinsicを使用して外部関数として宣言しない限り,コードジェネレーターはこれらの可視化関数を外部関数として扱いません。

一般一气的な可以化有关部とは阴谋disp数字です。使用MATLAB引擎在生成的代码中执行函数调用を参照してください。

memcpy最適化。次の表のいずれかの値として指定します。

説明
真正的

この値が既定値です。

可能であれば,コードジェネレーターはmemcpy最適化を使用します。連続する配列要素をコピーするコードを最適化するために,memcpy最适化はこのコードをmemcpy呼び出しに置き換えます。コピーする要素数がコンパイル時にわかっている場合,コードジェネレーターはMemcpyThresholdプロパティを使用して,最適化を使用するかどうかを判断します。memcpy最適化を参照してください。

错误的

コードジェネレーターはmemcpy最适化を使んん。

parforループの並列化。次の表のいずれかの値として指定します。

説明
真正的

この値が既定値です。

可能であれば,コードジェネレーターはOpenMPライブラリを使用して,並列実行されるループ反復を生成します。

错误的

コードジェネレーターはparforループを为了ループとして処理します。

parforを参照してください。

OpenMPライブラリの使用は准时制(JIT)コンパイルと互換性がありません。EnableJITEnableOpenMP真正的の場合,コードジェネレーターはJITコンパイルを使用し,parforループを为了ループとして処理します。

実行時の再帰のサポート。次の表のいずれかの値として指定します。

説明
真正的

この値が既定値です。

生成されたコードで再帰関数が許可されます。

错误的

生成されたコード再で关联数码が可されませんません。

MISRA®などの一部のコーディング標準では,再帰は許可されません。MISRA - C®に準拠したコードを生成する可能性を高めるには,EnableRuntimeRecursion错误的に設定します。

MATLABコードで実行時の再帰が必要な場合にEnableRuntimeRecursion错误的のとき,コード生成に失敗します。

再帰関数のコード生成を参照してください。

可変サイズ配列のサポート。次の表のいずれかの値として指定します。

説明
真正的

この値が既定値です。

可変の配列が生成で可さますますます。

错误的

可変サイズの配列がコード生成で許可されません。

依存関係:

  • 动态内存分配を有効にします。

可変サイズの配列のコード生成を参照してください。

ファイルの分割モード。次の表のいずれかの値として指定します。

説明
“MapMFileToCFile”

この値が既定値です。

コードジェネレーターは各MATLAB言語ファイルに対して個別のC / c++ファイルを生成します。

“SingleFile” コードジェネレーターは,MATLABエントリポイント関数にマッピングされるC / c++関数に対して1つのファイルを生成します。コードジェネレーターは,ユーティリティ関数に対して個別のC / c++ファイルを生成します。

MATLAB编码器が生成コードを分割する方法を参照してください。

ソースコードのみの生成。次の表のいずれかの値として指定します。

説明
错误的

この値が既定値です。

コードジェネレーターはC / c++ソースコードを生成し,オブジェクトコードをビルドします。

真正的

コードジェネレーターはC / c++ソースコードを生成しますが,使コマンドを呼び出したり,オブジェクトコードをビルドしたりしません。MATLABコードの変更とC / c++コードの生成を反復するときは,コードのみ生成すると時間を節約できます。

生成されたコード内のコメント。次の表のいずれかの値として指定します。

説明
真正的

この値が既定値です。

コードジェネレーターは生成されたコードにコメントを配置します。

错误的 コードジェネレーターは生成されたコードにコメントを配置しません。

C / c++主要ファイルの生成例。次の表のいずれかの値として指定します。

説明
“GenerateCodeOnly”

この値が既定値です。

コードジェネレーターはC / c++の主要関数の例を生成しますが,コンパイルしません。

'donotgenerate'

コードジェネレーターはC / c++の主要関数の例を生成しません。

“GenerateCodeAndCompile”

コードジェネレーターはC / c++の主要関数の例を生成し,コンパイルしてテスト実行可能ファイルを作成します。この実行可能ファイルは出力を返しません。

GenCodeOnlyパラメーターが真正的である場合,コードジェネレーターはC / c++の主要関数をコンパイルしません。

主要関数の例は,生成されたC / c++コードを呼び出すC / c++主要関数を作成するのに役立つテンプレートです。主要関数の例を使用した生成コードの組み込みを参照してください。

ビルドプロセス中のmakefileの生成。次の表のいずれかの値として指定します。

説明
真正的

この値が既定値です。

コードジェネレーターは,ビルドプロセス中にmakefileを生成します。

错误的 コードジェネレーターは,ビルドプロセス中にmakefileを生成しません。コード生成後のコマンドで、コンパイルやリンクを含む、コード生成後処理の手順を指定します。ビルドプロセスのカスタマイズを参照してください。

非有限データのサポートファイルの生成。以下の表のいずれかの値として指定します。

説明
真正的

この値が既定値です。

コードジェネレーターは,生成されたコード股本有限データ(および)を使用している場合のみ,非有限データのサポートファイルを生成します。

错误的

コードジェネレーターは,非有限データ(および)のサポートファイルを常に生成します。

依存関係:

  • 金宝appSupportNonFinite真正的に設定すると,このパラメーターが有効になります。

コード生成レポート。次の表のいずれかの値として指定します。

説明
错误的

この値が既定値です。

コードジェネレーターは,エラーや警告メッセージが発生した場合のみ,またはLaunchReport真正的に設定した場合にレポートを生成します。

真正的 コードコードジェネレーターはコード生成レポート生成します。

ハードウェアボードを指定するオブジェクト。编码器。硬件オブジェクトを作成するには,関数coder.hardwareを使用します。以下に例を示します。

cfg = coder.config('lib');hw = coder.hardware('raspberry pi');cfg.hardware = hw;

coder.hardwareを使用する前に,ハードウェアのサポートパッケージをインストールしなければなりません。

依存関係:

  • 硬件を設定すると,特定のハードウェアボードに対するハードウェア実行オブジェクトと他のコンフィギュレーションパラメーターがカスタマイズされます。

  • DeepLearningConfig编码器。ARMNEONConfigオブジェクトに設定した場合に硬件が空であると,codegenGenCodeOnlyプロパティが真正的に设定されます。

メモ:

  • 编码器。CodeConfigオブジェクトcfgをMATLABセッションで作成し,そのオブジェクトを別のMATLABセッションで使用するとします。2つ目のセッションのMATLABホストコンピューターにcfg。硬件プロパティで指定されたハードウェアボードがインストールされていないと,このパラメーターは既定値に戻ります。既定値は[]です。

C / c++コード生成のハードウェア固有の構成パラメーターを指定するハードウェア実行オブジェクト。coder.configは,硬件可执行プロパティがMATLABホストコンピューターの既定のパラメーター値をもつ编码器.Hardwareimplementation.オブジェクトに設定された编码器。CodeConfigオブジェクトを作用成し。

複数のヘッダーファイルが含まれていることに起因するコンパイルエラーを回避するために,コードジェネレーターによって生成ヘッダーファイル内に#如果未定义または#pragma一次ののかの构造生成されます。同じプリプロセッサマクロを使使使するををプロジェクトででファイルをプロジェクトでするする场ででする合并#pragma一次構造を使用してコードを生成します。#pragma一次のコンパイル動作は標準化されていません。

次の表のいずれかの値としてHeaderGuardStyleを指定します。

説明
UseIncludeGuard

コードジェネレーターによって#如果未定义スタイルの# includeガードが生成されます。

UsePragmaOnce コードジェネレーターによって#pragma一次スタイルの# includeガードが生成されます。

行優先のレイアウトによる効率性の潜在的な問題の表示。次の表のいずれかの値として指定します。

説明
真正的

コード生成レポートには,行優先のレイアウトによる効率性の潜在的な問題が表示されます(この値が既定値です)。

错误的 コード生成レポートには,配列レイアウトに関する問題は表示されません。

行優先のレイアウトのコード設計を参照してください。

memsetをを使た浮子と双重のゼロ代入代入。

説明
真正的

この値が既定値です。

可能であれば,コードジェネレーターは,連続する配列要素への浮動小数点ゼロの代入に対してmemset最适化学を使ます。连続连続する配列要素ををするにはにににmemset最適化ではmemset呼び出しが使用されます。代入する要素数がコンパイル時にわかっている場合,コードジェネレーターはMemcpyThresholdプロパティを使用して,最適化を使用するかどうかを判断します。memsetの最適化を参照してください。

错误的

コードジェネレーターは,連続する配列要素への浮动と双のゼロの代入に対してmemset最适化を使んん。

MathWorksが別のMathWorks関数を呼び出すすべての呼び出しサイトにおけるインライン化の動作。次の表のいずれかの値として指定します。

説明
“速度”

この値が既定値です。

内部のヒューリスティックな方法を使用して,呼び出しサイトでインライン化を実行するかどうかを判定します。通常,この設定を使用すると高度に最適化されたコードが生成されます。

“总是”

呼び出しサイトでインライン化を常に実行します。

“可读性”

非常に小さい关关节呼び出し除き,关节呼び出しのインラインを実しん。可怕限制。可怕的限制,速度を大厦に低せることなくのモジュール性维持ますますモジュールします。。

'绝不'

関数呼び出しのインライン化を実行しません。最大限の可読性が得られます。この設定では、生成コードのパフォーマンスが大幅に低下する可能性があります。

設定に“总是”オプションまたは'绝不'オプションを選択しても,コードジェネレーターがその指示に厳密に従わない場合があります。たとえば,競合がある場合,このオプションは,関数本体内に配置されたcoder.inline(总是)命令または编码器.inline('从不')命令によってオーバーライドされます。詳細については,異なるインライン化制御間の相互作用を参照してください。

生成コードのパフォーマンスと可読性を微調整するためのインライン化の制御を参照してください。

记述记述た关键数值关键词关键词,MATHWORKS关关が记述た关键词

説明
“速度”

この値が既定値です。

内部のヒューリスティックな方法を使用して,呼び出しサイトでインライン化を実行するかどうかを判定します。通常,この設定を使用すると高度に最適化されたコードが生成されます。

“总是”

呼び出しサイトでインライン化を常に実行します。

“可读性”

非常に小さい关关节呼び出し除き,关节呼び出しのインラインを実しん。可怕限制。可怕的限制,速度を大厦に低せることなくのモジュール性维持ますますモジュールします。。

'绝不'

関数呼び出しのインライン化を実行しません。最大限の可読性が得られます。この設定では、生成コードのパフォーマンスが大幅に低下する可能性があります。

設定に“总是”オプションまたは'绝不'オプションを選択しても,コードジェネレーターがその指示に厳密に従わない場合があります。たとえば,競合がある場合,このオプションは,関数本体内に配置されたcoder.inline(总是)命令または编码器.inline('从不')命令によってオーバーライドされます。詳細については,異なるインライン化制御間の相互作用を参照してください。

生成コードのパフォーマンスと可読性を微調整するためのインライン化の制御を参照してください。

記述した関数が別の記述した関数を呼び出すすべての呼び出しサイトにおけるインライン化の動作。次の表のいずれかの値として指定します。

説明
“速度”

この値が既定値です。

内部のヒューリスティックな方法を使用して,呼び出しサイトでインライン化を実行するかどうかを判定します。通常,この設定を使用すると高度に最適化されたコードが生成されます。

“总是”

呼び出しサイトでインライン化を常に実行します。

“可读性”

非常に小さい关关节呼び出し除き,关节呼び出しのインラインを実しん。可怕限制。可怕的限制,速度を大厦に低せることなくのモジュール性维持ますますモジュールします。。

'绝不'

関数呼び出しのインライン化を実行しません。最大限の可読性が得られます。この設定では、生成コードのパフォーマンスが大幅に低下する可能性があります。

設定に“总是”オプションまたは'绝不'オプションを選択しても,コードジェネレーターがその指示に厳密に従わない場合があります。たとえば,競合がある場合,このオプションは,関数本体内に配置されたcoder.inline(总是)命令または编码器.inline('从不')命令によってオーバーライドされます。詳細については,異なるインライン化制御間の相互作用を参照してください。

生成コードのパフォーマンスと可読性を微調整するためのインライン化の制御を参照してください。

コード生成レポートを自动的に开く。次の表のいずれかの値として指定します。

説明
错误的

この値が既定値です。

エラーや警告が発生した場合,またはgenerateReport.真正的の場合,コードジェネレーターはレポートを生成しますが,レポートを開きません。

真正的 コードジェネレーターはコード生成レポートを生成して開きます。

このしきい値より反复反复反复が少ないループ,コードジェネレーターによる自动打开ののです,matlabコードののの为了ループに適用されます。個々の为了ループでは,ループの直前に配置されたcoder.unroll命令がループ展開の最適化より優先されます。しきい値は,コード生成中に生成された一部の为了ループにも適用できます。

对于ループの展開を参照してください。

生成コードにMATLABソースコードをコメントとして含める。次の表のいずれかの値として指定します。

説明
错误的

この値が既定値です。

コードジェネレーターはMATLABソースコードをコメントとして生成コードに挿入しません。コードジェネレーターは関数バナーにMATLAB関数シグネチャを含めません。

真正的

コードジェネレーターはmatlabソースコードをコメントとして生成コードにソースします各のに插入插入れます。MATLABソースコードへの生成されたC / c++コードのトレースを参照してください。

嵌入式编码器をお持ちの場合は,コード生成レポートで,トレーサビリティタグがソースコードにリンクします。

コードジェネレーターは関数バナーにMATLAB関数シグネチャも含めます。

依存関係:

  • generatecomments.により,このパラメーターが有效ににます。

MATLABソースコードへの生成されたC / c++コードのトレースを参照してください。

生成される識別子の最大文字数。[31日2048]の範囲の正の整数として指定します。このプロパティは,生成された関数、型定義、変数名に適用されます。ターゲットの C/C++ コンパイラで識別子が短縮されるのを避けるには、ターゲットの C/C++ コンパイラにおける識別子の最大長と一致する値を指定します。

このプロパティは,エントリポイント关键词EMXARRAY API相关数量に生成さ名前などの,エクスポートされる识别子に适されません子。には,エクスポートされた识别子はターゲットC / C ++コンパイラによって打ち切られます。

既定値:

  • TargetLang“C”に设定されてているいる合书,MaxIdLengthの既定値は31です。

  • TargetLang“c++”に设定されてているいる合书,MaxIdLengthの既定値は1024です。

memcpy最適化またはmemset最適化の最小サイズ(バイト単位)。正の整数として指定します。

連続する配列要素をコピーする生成されたコードを最適化するために,コードジェネレーターはこのコードをmemcpy呼び出しに置き換えることを試みます。リテラル定数を連続する配列要素に代入する生成されたコードを最適化するために,コードジェネレーターはこのコードをmemset呼び出しに置き換えることを試みます。

バイト数は,コピーまたは代入する配列要素数にC / c++データ型に必要なバイト数を乗算した値です。

コピーまたは代入する要素の数が可変である(コンパイル時に不明)場合,コードジェネレーターはMemcpyThresholdプロパティを無視します。

memcpy最適化memsetの最適化を参照してください。

マルチインスタンスの再呼び出し可能なコード。次の表のいずれかの値として指定します。

説明
错误的

この値が既定値です。

コードジェネレーターは,マルチインスタンスの再呼び出し可能なコードを生成しません。

真正的

コードジェネレーターは,再呼び出し可能な,再利用可能なマルチインスタンスコードを生成します。

再呼び出し可能コードを参照してください。このオプションは GPU Coder™ 製品ではサポートされていません。

オブジェクト名。文件

c / c ++コードからビルドするするする次表のかとして指定します。

説明
“自由” スタティックライブラリ
“DLL” ダイナミックリンクライブラリ
EXE” 実行可能プログラム

エントリポイント関数への構造体の参照渡し。次の表のいずれかの値として指定します。

説明
真正的

この値が既定値です。

生成されたで,构造体が参照さされます。

メモ

構造体パラメーターのフィールドに書き込むエントリポイント関数が入力値を上書きします。

错误的 生成されたコードで,構造体が参照渡しされます。

このパラメーターはエントリポイント関数にのみ適用されます。

GPU编码器はPassStructByReferenceプロパティを常に真正に設定します。

生成されたコードで構造体の引数を参照または値で渡すを参照してください。

codegenを使用した墨西哥人関数の生成後にビルドプロセスをカスタマイズするコマンド。文字ベクトルとして指定します。

ビルドプロセスのカスタマイズを参照してください。

N次元のインデックスを使用するコードの生成。次の表のいずれかの値として指定します。

説明
错误的

1次元インデックスを使用するコードを生成します(この値が既定値です)。

真正的 N次元インデックスを使用するコードを生成します。

N次元インデックスを使用するコードの生成を参照してください。

生成ささ変の変保持のいずれかとしてとして指定しますとして指定指定しますとして指定指定します。

説明
“没有”

この値が既定値です。

コードジェネレーターで変数名を保持する必要はありません。変数再利用の要件に適合する変数であれば,再利用します。

コードで大きい構造体または配列を使用する場合,Preservevariablenames.“没有”に設定することでメモリ使用量を削減したり,実行速度を改善できます。

“用户名”

コードジェネレーターはMATLABコードで定義した変数に対応する名前を保持します。ユーザーの変数名が別の名前で置換されたり,ユーザーの名前が別の変数に使用されることはありません。可読性を向上させるには,Preservevariablenames.“用户名”に設定します。そうすれば,生成コードの変数をMATLABコードの変数までさらに容易に追跡できます。

Preservevariablenames.“用户名”に設定しても,最適化によって生成コードから変数が削除されることや,生成されたバイナリコード内の変数がC / c++コンパイラによって再利用されることは回避できません。

“所有”

すべての変数名を保持します。このパラメーター値により変数再利用が無効になります。テストまたはデバッグのみに使用し、量産コードでは使用しないでください。

生成されたコードでの変数名の保持を参照してください。

コード生成に関する情報をエクスポートする変数の名前。文字ベクトルとして指定します。コードジェネレーターでは,この変数をベースのMATLABワークスペースに作成します。この変数には、コード生成設定、入力ファイル、生成ファイル、およびコード生成メッセージに関する情報が格納されます。

コード生成レポートの情報へのプログラムによるアクセスおよび编码器。ReportInfoのプロパティを参照してください。

潜在的な相違点のレポート。次の表のいずれかの値として指定します。

説明
真正的 コードジェネレーターは生成コードとMATLABコード間での潜在的な動作の相違をレポートします。潜在的な相違はコード生成レポートのタブに一覧表示されます。潜在的な相違とは,特定の状況にある場合にのみ実行時に生じる違いです。
错误的 コードジェネレーターは潜在的な相違をレポートしません。

潜在的な相違点のレポートを参照してください。

コードジェネレーターが関数または変数に使用してはならない名前のリスト。文字ベクトルまたは字符串スカラーとして指定します。複数の予約名を指定するには,セミコロンで区切られた予約名のリストをreasurednameArray.例:cfg。ReservedNameArray = " reserve1; reserve2 reserve3”

行優先の配列レイアウトを使用するコードの生成。次の表のいずれかの値として指定します。

説明
错误的

列優先の配列レイアウトを使用するコードを生成します(この値が既定値です)。

真正的 行優先の配列レイアウトを使用するコードを生成します。

行優先の配列レイアウトを使用するコードの生成を参照してください。

生成されたエントリポイント关键词关联时にに初化ののの呼び出しをかの値指定さされのとして指定さされか値として表されれ値として指定されれ

説明
真正的

この値が既定値です。

经期化有关部のは,生成されたポイント关键词开收时に含まています。生成されますは,复のエントリポイントは,复するエントリも,附加期のも,初初であるのがががのみことを确认するためのチェックが含まれています。

错误的

生成されたエントリポイント関数には初期化関数の呼び出しが含まれていません。

生成された初期化関数と終了関数の使用を参照してください。

依存関係:

  • MultiInstanceCode真正的に設定すると,このパラメーターは無効になります。

生成さされたコードのランタイムエラーエラー検出とのの表のいずれかのとして指定しし次として指定しししとして指定しし

説明
错误的

この値が既定値です。

生成されたコードは,範囲外の配列インデックスなどのエラーをチェックしません。

真正的

生成されるコードで範囲外の配列インデックスなどのエラーのチェックが行われます。

エラー報告ソフトウェアはを使用してエラーメッセージをstderrに书着。中止を使用してアプリケーションを終了します。および中止が使用できない場合,指定しなければなりません。関数中止はプログラムを突然終了します。信号がシステムでサポートされている場合,中止信号(SIGABRT)を検出してプログラムの終了を制御できます。

エラーメッセージは英語です。

生成独立的C/ c++代码,检测和报告运行时错误を参照してください。

整数オーバーフローのサポート。次の表のいずれかの値として指定します。

説明
真正的

この値が既定値です。

コードジェネレーターは整数オーバーフローを処理するコードを生成します。オーバーフローは,データ型が表現できる最小値または最大値のいずれかに飽和します。

错误的

コードジェネレーターははオーバーオーバーをを处コードを生成ししんんしがオーバーフローのサポート依存していることが确认ないSaturateOnIntegerOverflow错误的に設定しないでください。整数オーバーフローのサポートを無効にし,実行時のエラーチェックが有効な場合,生成コードでオーバーフローのエラーが発生します。整数オーバーフローのサポートを無効にし、実行時のエラー チェックも無効にすると、オーバーフローの動作は、ターゲット C コンパイラによって異なります。C 規格では、整数オーバーフローの動作は定義されていません。ただし、ほとんどの C コンパイラはオーバーフロー時にラップします。

このパラメーターは,matlabの组み込み整型型に适されます。双,单または固定小数点型には适适ませんません。

整数オーバーフローまたは非有限のサポートの無効化を参照してください。

アプリケーションごとの大大スタック使ののスタックとして指定ますしししますますし设定ししし。はスタックオーバーフローを検出して报告します。

整数オーバーフローまたは非有限のサポートの無効化を参照してください。

非有限値のサポート。次の表のいずれかの値として指定します。

説明
真正的

この値が既定値です。

GenerateNonFiniteFilesIfUsed真正的に設定されている場合,コードジェネレーターは,非有限値(および)が使用される综合性股票股票有するコード生成しサポート有を生成し。

GenerateNonFiniteFilesIfUsed错误的に設定すると,コードジェネレーターは非有限値(および)をサポートするコードを常に生成します。

错误的

コードジェネレーターは非有限値をサポートするコードを生成しません。

整数オーバーフローまたは非有限のサポートの無効化を参照してください。

生成されたコードで使用する言語。“C”または“c++”として指定します。c++を指定する場合、コード ジェネレーターは C コードを .cpp ファイルにラップするため、C++ コンパイラおよび外部 C++ アプリケーションとのインターフェイスを使用できます。C++ クラスは生成しません。

依存関係:DeepLearningConfigを設定すると,codegenTargetLangc++に设定されます。

生成されたコードする标准のか次の表いずれかのとして指定します。

  • “C89 /人私下偷偷收藏盒式(ANSI)”

  • “C99 (ISO)”

  • “c++ 03 (ISO)”

  • 'C ++ 11(ISO)'

コードジェネレーターは算術演算の呼び出しに標準の数学ライブラリを使用します。既定の標準の数学ライブラリは,選択する言語によって異なります。Cの場合,既定のライブラリは“C99 (ISO)”です。c++の場合,既定のライブラリは“c++ 03 (ISO)”です。

標準の数学ライブラリの変更を参照してください。

C / c++ライブラリまたは実行可能プログラムをビルドするために使用するツールチェーン。文字ベクトルとして指定します。使用可能なツールチェーンのリストはホストコンピューターのプラットフォームによって異なり,追加したカスタムツールチェーンを含めることができます。ツールチェーンを指定しない場合,コードジェネレーターはインストールされているツールチェーンを自動的に検索します。

メモ:

  • 编码器。CodeConfigオブジェクトcfgをMATLABセッションで作成し,そのオブジェクトを別のMATLABセッションで使用するとします。2つ目のセッションのMATLABホストコンピューターにcfg。工具链プロパティで指定されたツールチェーンがインストールされていないと,このパラメーターは既定値に戻ります。既定値は“自动定位安装的工具链”です。

コード生成の進行状況表示。次の表のいずれかの値として指定します。

説明
错误的

この値が既定値です。

コードジェネレーターには,コード生成の進行状況が表示されません。

真正的

コードジェネレーターには,コード生成の段階やコンパイラ出力を含む,コード生成の進行状況が表示されます。

すべて折りたたむ

コードを生成できるMATLAB関数を記述します。この例では,入力の合計を返す関数myaddを使用します。

函数myadd(a,b) = myadd(a,b);结束

スタンドアロンC / c++コード(スタティックライブラリ,ダイナミックリンクライブラリ,実行可能プログラム)生成用の構成オブジェクトを作成します。たとえば,スタティックライブラリ生成用の構成オブジェクトを作成します。

cfg = coder.config(“自由”);

既定値を使用しないプロパティの値を変更します。たとえば,生成される C/C++ コードでの実行時エラーの検出とレポートを有効にします。

cfg。RuntimeChecks = true;

codegenを使用してコードを生成します。配置オプションオプション使用しし成オブジェクトオブジェクトcodegenに渡します。入力分数が双重型のスカラーであることをします。

codegenmyadd配置cfgarg游戏{1}报告

代替機能

ビルドタイプ“自由”“DLL”,またはEXE”の既定の構成パラメーターを使用するには,codegenのオプション-config:lib配置:dll配置:exeをを使使ます。これこれ,构成オブジェクトを作用成しcodegenに渡す必要はなくなります。

R2011aで導入