このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
coder.MexCodeConfig
MATLAB からの MEX 関数生成用構成パラメーター
説明
coder.MexCodeConfig
オブジェクトには、MEX 関数の生成時に codegen
によって使用される構成パラメーターが含まれます。-config
オプションを使用して、オブジェクトを関数 codegen
に渡します。
作成
関数 coder.config
を使用して coder.MexCodeConfig
オブジェクトを作成します。
coder.MexCodeConfig
オブジェクトの作成後、そのプロパティをコマンド ラインからプログラムで変更するか、構成パラメーター ダイアログ ボックスを使用して対話的に変更できます。コマンド ライン ワークフローで対話的に構成パラメーターを指定を参照してください。
プロパティ
CacheDynamicArrayDataPointer
— 動的な配列の最適化
true
(既定値) | false
動的な配列の最適化。次の表のいずれかの値として指定します。
値 | 説明 |
---|---|
true | この値が既定値です。 コード ジェネレーターで動的な配列のアクセスを最適化して、生成された C コードの実行時間を改善します。 |
false | コード ジェネレーターで動的な配列のアクセスを最適化しません。 |
動的な配列のアクセスの最適化を参照してください。
CodeFormattingTool
— 生成コードの書式設定ツール
'Auto'
(既定値) | 'Clang-format'
| 'MathWorks'
生成コードのコード形式オプション。次の表のいずれかの値として指定します。
値 | 説明 |
---|---|
'Clang-format' | コード ジェネレーターは |
'Auto' | 内部のヒューリスティックな方法を使用して、生成コードを 生成コードが |
'MathWorks' | コード ジェネレーターを MathWorks の書式設定ツールに戻します。 |
clang-format
にはネイティブの CUDA® C++ サポートはありません。GPU Coder™ を使用して CUDA コードを生成する場合、書式設定ツールを 'Clang-format'
に設定すると、コードのコンパイル時にビルドが失敗する可能性があります。
CompileTimeRecursionLimit
— コンパイル時の再帰による関数の特殊化の最大数
50 (既定値) | 正の整数
コンパイル時の再帰による関数の特殊化の最大数。正の整数として指定します。MATLAB® コード内で再帰が許可されないようにするには、CompileTimeRecursionLimit
を 0 に設定します。コンパイル時の再帰限界値の既定値は、このタイプの再帰を必要とするほとんどの再帰関数で十分に大きい値です。コンパイル時の再帰限界値が原因でコード生成に失敗する場合にコンパイル時の再帰が必要なときは、限界値を高くします。あるいは、コード ジェネレーターが実行時の再帰を使用するように、MATLAB コードを変更します。コンパイル時の再帰限界値に達するを参照してください。
ConstantFoldingTimeout
— 定数畳み込みによって実行される命令の最大数
40000 (既定値) | 正の整数
定数畳み込みが実行する命令の最大数。状況によっては、コード生成で特定の命令を定数にする必要があります。これらの命令で定数畳み込みが行われる前に定数畳み込みが停止した場合、コードの生成は失敗します。この場合は、ConstantFoldingTimeout
の値を増やします。
生成コードの MATLAB Coder の最適化を参照してください。
ConstantInputs
— 定数入力チェック モード
'CheckValues'
(既定値) | 'IgnoreValues'
| 'Remove'
定数入力チェック モード。次の表のいずれかの値として指定します。
値 | 説明 |
---|---|
'CheckValues' | この値が既定値です。 MEX 関数の呼び出し時に、定数入力の引数に指定する値がコード生成時に指定された値であるかどうかがチェックされます。 MEX 関数と元の MATLAB 関数を同じ引数を使用して呼び出すことができます。そのため、両方の関数に対して同じテスト ファイルを使用できます。 値のチェックによって、MEX 関数の実行速度が遅くなる可能性があります。 |
'IgnoreValues' | MEX 関数の呼び出し時に、定数入力の引数に指定する値を無視します。コード生成時に指定された値を使用します。 同じテスト ファイルを使用できるため、定数引数の値をチェックするというオーバーヘッドが発生しません。 |
'Remove' | コード ジェネレーターは、MEX 関数のシグネチャから定数入力の引数を削除します。MEX 関数の呼び出し時に、定数入力の引数の値を指定しません。 このオプションでは下位互換性が提供されます。 |
MEX 関数での定数入力のチェックを参照してください。
CppGenerateEnumClass
— MATLAB 列挙の C++11 列挙型クラスの生成
true
(既定値) | false
列挙型クラスまたは通常の C の列挙型を含む C++11 コードを生成するかどうか。次の表のいずれかの値として指定します。
値 | 説明 |
---|---|
true | この値が既定値です。 コード ジェネレーターは、生成された C++11 コードの MATLAB 列挙に対応する列挙型クラスを生成します。列挙型のコードの生成を参照してください。 |
false | コード ジェネレーターは、生成された C++11 コードの MATLAB 列挙に対応する通常の C の列挙型を生成します。 |
依存関係:
TargetLang
を'C++'
に設定すると、このパラメーターが有効になります。
CppNamespace
— 生成された C++ コードの名前空間の名前
''
(既定値) | 文字ベクトル
生成された C++ コードの名前空間。空でない文字ベクトルを指定しない限り、コード ジェネレーターは名前空間でコードを生成しません。
生成された C++ コードの名前空間への整理を参照してください。
依存関係:
TargetLang
を'C++'
に設定すると、このパラメーターが有効になります。
CppNamespaceForMathworksCode
— MathWorks コードに対して生成された C++ コードを個別の名前空間に配置
'coder'
(既定値) | 文字ベクトル
MathWorks コードに対して生成された C++ コードの名前空間。このプロパティを空の文字ベクトルとして指定した場合、コード ジェネレーターはこのような名前空間を生成しません。
生成された C++ コードの名前空間への整理を参照してください。
依存関係:
TargetLang
を'C++'
に設定すると、このパラメーターが有効になります。
データ型: char
CppPreserveClasses
— MATLAB クラスに対応する C++ クラスの生成
true
(既定値) | false
MATLAB クラスに対応する C++ クラスと C スタイルの構造体のどちらを生成するか。次の表のいずれかの値として指定します。
値 | 説明 |
---|---|
true | この値が既定値です。 コード ジェネレーターは MATLAB クラスに対応する C++ クラスを生成します。MATLAB クラスに対応する C++ クラスの生成を参照してください。 |
false | コード ジェネレーターは MATLAB クラスに対応する C スタイルの構造体を生成します。 |
GPU Coder を使用する場合、このパラメーターはコード ジェネレーターで常に無効になります。
依存関係:
TargetLang
を'C++'
に設定すると、このパラメーターが有効になります。
データ型: logical
CppPreserveNamespaces
— MATLAB 名前空間に対応する C++ 名前空間の生成
true
(既定値) | false
MATLAB コード内の名前空間に対応する C++ 名前空間を生成するかどうか。次の表のいずれかの値として指定します。
値 | 説明 |
---|---|
true | この値が既定値です。 コード ジェネレーターは、MATLAB コード内の名前空間に対応する C++ 名前空間を生成します。生成された C++ コードの名前空間への整理を参照してください。 |
false | コード ジェネレーターは、MATLAB コード内の名前空間に対応する C++ 名前空間を生成しません。 |
依存関係:
TargetLang
を'C++'
に設定すると、このパラメーターが有効になります。
データ型: logical
CustomHeaderCode
— 生成された C/C++ ヘッダー ファイルの最上部に表示されるカスタム コード
' ' (既定値) | 文字ベクトル
MATLAB コードから生成された各 C/C++ ヘッダー ファイル (rtwtypes.h
および rtwhalf.h
を除く) の最上部近くに表示されるカスタム コード。文字ベクトルとして指定します。
CustomInclude
— 生成コードのコンパイル用にインクルード パスに追加するインクルード フォルダー
' ' (既定値) | string 配列 | 文字ベクトルの cell 配列 | 文字ベクトル
生成コードのコンパイル時にインクルード パスに追加するインクルード フォルダー。インクルード フォルダーのリストを string 配列、文字ベクトルの cell 配列、または文字ベクトルとして指定します。
単一のインクルード フォルダーを指定するには、文字ベクトルまたは string スカラーを使用できます。
複数のフォルダーの名前を指定するには、この表のいずれかの値を使用します。
値 | 説明 |
---|---|
string 配列 |
|
文字ベクトルの cell 配列 |
|
CustomInitializer
— 生成された初期化関数に含めるカスタム コード
' ' (既定値) | 文字ベクトル
生成された初期化関数に含めるカスタム コード。文字ベクトルとして指定します。
CustomLibrary
— 生成コードにリンクするスタティック ライブラリ ファイル
' ' (既定値) | string 配列 | 文字ベクトルの cell 配列 | 文字ベクトル
生成コードにリンクするスタティック ライブラリ ファイル。string 配列、文字ベクトルの cell 配列、または文字ベクトルとして指定します。
単一のスタティック ライブラリ ファイルを指定するには、文字ベクトルまたは string スカラーを使用できます。
複数のスタティック ライブラリ ファイルの名前を指定するには、この表のいずれかの値を使用します。
値 | 説明 |
---|---|
string 配列 |
|
文字ベクトルの cell 配列 |
|
CustomSource
— コンパイルして生成コードにリンクするソース ファイル
' ' (既定値) | string 配列 | 文字ベクトルの cell 配列 | 文字ベクトル
コンパイルして生成コードにリンクするソース ファイル。string 配列、文字ベクトルの cell 配列、または文字ベクトルとして指定します。
ビルド プロセスは最初に現在のフォルダー内でソース ファイルを探してから、CustomInclude
に指定したインクルード フォルダー内で探します。検索パス上の複数のフォルダーに同じ名前のソース ファイルがある場合、指定したファイルとは別のファイルがビルド プロセスで使用される可能性があります。
たとえば、foo.cpp
をソース ファイルとして指定するとします。foo.c
と foo.cpp
の両方が検索パスにある場合、ビルド プロセスが foo.c
と foo.cpp
のどちらを使用するか断定できません。
単一のソース ファイルを指定するには、文字ベクトルまたは string スカラーを使用できます。
複数のソース ファイルの名前を指定するには、この表のいずれかの値を使用します。
値 | 説明 |
---|---|
string 配列 |
|
文字ベクトルの cell 配列 |
|
CustomSourceCode
— 生成された .c
または .cpp
ファイルの最上部付近に表示されるコード
' ' (既定値) | 文字ベクトル
生成された各 .c
または .cpp
ファイル (rtwhalf.c
または rtwhalf.cpp
を除く) の最上部付近、関数の外側にコードが表示されるよう指定します。文字ベクトルとしてコードを指定します。
C 静的関数の定義は指定しないでください。
CustomTerminator
— 生成された終了関数に表示されるコード
' ' (既定値) | 文字ベクトル
生成された終了関数に表示されるコード。文字ベクトルとして指定します。
DeepLearningConfig
— 深層学習コード生成の構成オブジェクト
coder.MklDNNConfig
オブジェクト | coder.CuDNNConfig
オブジェクト | coder.TensorRTConfig
オブジェクト
深層学習ネットワークのコード生成の構成オブジェクト。次の表のいずれかのオブジェクトとして指定します。
オブジェクト | 必要 | 説明 |
---|---|---|
coder.MklDNNConfig |
|
cfg = coder.config('mex'); cfg.TargetLang = 'C++'; cfg.DeepLearningConfig = coder.DeepLearningConfig('mkldnn'); MKL-DNN を使用した、深層学習ネットワークのためのコード生成を参照してください。 |
coder.CuDNNConfig (GPU Coder) |
|
cfg = coder.gpuConfig('lib'); cfg.TargetLang = 'C++'; cfg.DeepLearningConfig = coder.DeepLearningConfig('cudnn'); cuDNN を使用した深層学習ネットワークのコード生成 (GPU Coder)を参照してください。 |
coder.TensorRTConfig (GPU Coder) |
|
cfg = coder.gpuConfig('lib'); cfg.TargetLang = 'C++'; cfg.DeepLearningConfig = coder.DeepLearningConfig('tensorrt'); TensorRT を使用した深層学習ネットワークのコード生成 (GPU Coder)を参照してください。 |
メモ
MEX コードの生成は、ARM® Compute Library を使用した深層学習についてはサポートされていません。
依存関係: DeepLearningConfig
を設定すると、codegen
で TargetLang
が C++
に設定されます。
DynamicMemoryAllocation
— 動的メモリ割り当てモード
'Threshold'
(既定値) | 'AllVariableSizeArrays'
| 'Off'
動的メモリ割り当てモード。次の表のいずれかの値として指定します。
値 | 説明 |
---|---|
'Threshold' | この値が既定値です。 コード ジェネレーターは、サイズ (バイト単位) が |
'AllVariableSizeArrays' | コード ジェネレーターは、ヒープ上ですべての可変サイズ配列のメモリを動的に割り当てます。 |
'Off' | コード ジェネレーターは、スタック上で可変サイズ配列のメモリを静的に割り当てます。 |
制限のない可変サイズの配列では動的なメモリ割り当てが必要です。
依存関係:
EnableVariableSizing
により、このパラメーターが有効になります。この
DynamicMemoryAllocation
を'Threshold'
に設定すると、DynamicMemoryAllocationThreshold
パラメーターが有効になります。
可変サイズ データのためのコード生成を参照してください。
メモ
DynamicMemoryAllocation
構成オプションは将来のリリースで削除される予定です。可変サイズの配列に対してメモリを動的に割り当てるには、EnableDynamicMemoryAllocation
オプションを使用してください。しきい値を設定するには、DynamicMemoryAllocationThreshold
オプションを使用します。
DynamicMemoryAllocationForFixedSizeArrays
— 固定サイズの配列に対する動的メモリ割り当て
false
(既定値) | true
固定サイズの配列に対する動的メモリ割り当て。次の表のいずれかの値として指定します。
値 | 説明 |
---|---|
true | コード ジェネレーターは、サイズ (バイト単位) が |
false | この値が既定値です。 コード ジェネレーターは、スタック上で固定サイズ配列のメモリを静的に割り当てます。 |
依存関係:
このオプションは、
EnableDynamicMemoryAllocation
をtrue
に設定すると有効になります。
固定サイズの配列に対する動的メモリ割り当ての制御を参照してください。
DynamicMemoryAllocationInterface
— 生成された関数インターフェイスにおける動的に割り当てられた配列
'Auto'
(既定値) | 'C'
| 'C++'
生成された C/C++ 関数のインターフェイスにおける動的に割り当てられた配列の実装。次の表のいずれかの値として指定します。
値 | 説明 |
---|---|
'Auto' | これは既定値です。 |
'C' | 生成されたコードは、C スタイルの |
'C++' |
生成されたコードは、 |
GPU Coder を使用する場合、C スタイルの emxArray
データ構造体がコード ジェネレーターで常に使用されます。
依存関係:
EnableVariableSizing
により、このパラメーターが有効になります。
DynamicMemoryAllocationThreshold
— 可変サイズの配列の動的なメモリ割り当てのサイズしきい値
65536
(既定値) | 正の整数
固定サイズの配列と可変サイズの配列の動的なメモリ割り当てのサイズしきい値。正の整数として指定します。コード ジェネレーターでは、しきい値以上のサイズ (バイト) をもつ固定サイズの配列と可変サイズの配列に動的メモリ割り当てを使用します。
依存関係:
DynamicMemoryAllocation
を'Threshold'
に設定すると、このパラメーターが有効になります。
可変サイズ データのためのコード生成を参照してください。
EnableAutoParallelization
— for
ループの自動並列化
false
(既定値) | true
for
ループの自動並列化。次の表のいずれかの値として指定します。
値 | 説明 |
---|---|
false | この値が既定値です。 コード ジェネレーターは |
true | コード ジェネレーターは生成コードで |
GPU Coder を使用する場合、for
ループの自動並列化はコード ジェネレーターで常に有効になります。
データ型: logical
EnableAutoParallelizationReporting
— for
ループの自動並列化のレポート作成
true
(既定値) | false
for
ループの自動並列化のレポート作成。次の表のいずれかの値として指定します。
値 | 説明 |
---|---|
true | この値が既定値です。
|
false | コード ジェネレーターは、for ループの自動並列化についてコード生成レポートを作成しません。 |
EchoExpressions
— 式をエコー
true
(既定値) | false
式をエコー。次の表のいずれかの値として指定します。
値 | 説明 |
---|---|
true | この値が既定値です。 MEX 関数は、セミコロンで終了していないステートメントの出力を表示します。 |
false | MEX 関数は、セミコロンで終了していないステートメントの出力を表示しません。 |
このプロパティは、一般的な可視化関数 (disp
、plot
、figure
など) が外部関数として呼び出された場合には適用されません。MEX 関数は、セミコロンまたは EchoExpressions
の値の有無に関係なく、これらの関数の出力を表示します。
EnableAutoExtrinsicCalls
— 自動的な外部関数呼び出し
true
(既定値) | false
自動的な外部関数呼び出し。次の表のいずれかの値として指定します。
値 | 説明 |
---|---|
true | この値が既定値です。 コード ジェネレーターは、一部の一般的な可視化関数を外部関数として扱います。 |
false | 一般的な可視化関数を coder.extrinsic を使用して外部関数として宣言しない限り、コード ジェネレーターはこれらの可視化関数を外部関数として扱いません。 |
一部の一般的な可視化関数とは plot
、disp
、figure
です。生成コードでの MATLAB エンジンを使用した関数呼び出しの実行を参照してください。
EnableDebugging
— C コンパイラのデバッグ モード
false
(既定値) | true
C コンパイラのデバッグ モード。次の表のいずれかの値として指定します。
値 | 説明 |
---|---|
false | この値が既定値です。 コード ジェネレーターは C コンパイラのデバッグ モードを有効にしません。 |
true | コード ジェネレーターは C コンパイラのデバッグ モードを有効にします。デバッグ モードが有効になっている場合、C コンパイラはコードを最適化しません。コンパイルは速くなりますが、実行は遅くなります。 |
EnableDynamicMemoryAllocation
— 可変サイズの配列に対する動的メモリ割り当てを有効化
true
(既定値) | false
可変サイズの配列に対する動的メモリ割り当て。次の表のいずれかの値として指定します。
値 | 説明 |
---|---|
true | この値が既定値です。 コード ジェネレーターは、サイズ (バイト単位) が |
false | コード ジェネレーターは、スタック上で可変サイズ配列のメモリを静的に割り当てます。 |
EnableImplicitExpansion
— 生成コードでの暗黙的な拡張機能
true
(既定値) | false
生成コードでの暗黙的な拡張機能。次の表のいずれかの値として指定します。
値 | 説明 |
---|---|
true | この値が既定値です。 生成コードでの暗黙的な拡張がコード ジェネレーターで有効になります。暗黙的な拡張を適用するためにコード ジェネレーターで生成コードに変更が加えられます。基本的な演算で互換性のある配列サイズを参照してください。 |
false | 生成コードは暗黙的な拡張のルールに従いません。 |
データ型: logical
EnableJIT
— Just-In-Time (JIT) コンパイル モード
false
(既定値) | true
Just-In-Time (JIT) コンパイル モード。次の表のいずれかの値として指定します。
値 | 説明 |
---|---|
false | この値が既定値です。 コード ジェネレーターは C/C++ コードを生成およびコンパイルして C/C++ MEX 関数を作成します。 |
true | コード ジェネレーターは MEX 関数の生成に Just-In-Time (JIT) コンパイル テクノロジーを使用します。コード ジェネレーターは、MATLAB コードの抽象表現を含む JIT MEX 関数を作成します。JIT MEX 関数を実行すると、MATLAB はメモリ内に実行可能コードを生成します。 |
MEX 関数の生成を高速化するには、EnableJIT
を true
に設定します。
JIT コンパイルは、カスタム コードや OpenMP ライブラリの使用など、特定のコード生成機能やオプションと互換性がありません。JIT コンパイルを指定した場合にコード ジェネレーターがそれを使用できないと、C/C++ MEX 関数が警告と共に生成されます。EnableJIT
と EnableOpenMP
が true
のときにコードが parfor
を使用する場合、コード ジェネレーターは JIT コンパイルを使用して parfor
ループを for
ループとして処理します。
JIT コンパイルを使用した MEX 生成速度の高速化を参照してください。
EnableMemcpy
— memcpy
最適化
true
(既定値) | false
memcpy
最適化。次の表のいずれかの値として指定します。
値 | 説明 |
---|---|
true | この値が既定値です。 可能であれば、コード ジェネレーターは |
false | コード ジェネレーターは |
GPU Coder を使用する場合、Memcpy
最適化はコード ジェネレーターで常に無効になります。
EnableMexProfiling
— プロファイリング用インストルメンテーション
false
(既定値) | true
生成された MEX 関数のプロファイリングの有効化。次の表のいずれかの値として指定します。
値 | 説明 |
---|---|
false | この値が既定値です。 コード ジェネレーターは、生成された MEX 関数にプロファイリング用インストルメンテーションを含みません。 |
true | コード ジェネレーターは、生成された MEX 関数にプロファイリング用インストルメンテーションを含みます。MATLAB プロファイラーを使用して MEX をプロファイリングできます。MATLAB プロファイラーを使用した MEX 関数のプロファイリングを参照してください。 |
EnableOpenMP
— parfor
ループの並列化
true
(既定値) | false
parfor
ループの並列化。次の表のいずれかの値として指定します。
値 | 説明 |
---|---|
true | この値が既定値です。 可能であれば、コード ジェネレーターは OpenMP ライブラリを使用して、並列実行されるループ反復を生成します。 |
false | コード ジェネレーターは |
parfor
を参照してください。
OpenMP ライブラリの使用は Just-In-Time (JIT) コンパイルと互換性がありません。EnableJIT
と EnableOpenMP
が true
の場合、コード ジェネレーターは JIT コンパイルを使用し、parfor
ループを for
ループとして処理します。
GPU Coder を使用する場合、parfor
ループはコード ジェネレーターで常に for
ループとして処理されます。
EnableRuntimeRecursion
— 実行時の再帰のサポート
true
(既定値) | false
実行時の再帰のサポート。次の表のいずれかの値として指定します。
値 | 説明 |
---|---|
true | この値が既定値です。 生成されたコードで再帰関数が許可されます。 |
false | 生成されたコードで再帰関数が許可されません。 |
MISRA™ などの一部のコーディング標準では、再帰は許可されません。MISRA C™ に準拠したコードを生成する可能性を高めるには、EnableRuntimeRecursion
を false
に設定します。
MATLAB コードで実行時の再帰が必要な場合に EnableRuntimeRecursion
が false
のとき、コード生成に失敗します。
再帰関数のコード生成を参照してください。
EnableVariableSizing
— 可変サイズ配列のサポート
true
(既定値) | false
可変サイズ配列のサポート。次の表のいずれかの値として指定します。
値 | 説明 |
---|---|
true | この値が既定値です。 可変サイズの配列がコード生成で許可されます。 |
false | 可変サイズの配列がコード生成で許可されません。 |
依存関係:
Dynamic memory allocation
を有効にします。
可変サイズの配列のコード生成を参照してください。
ExtrinsicCalls
— 外部関数呼び出しのサポート
true
(既定値) | false
外部関数呼び出しのサポート。次の表のいずれかの値として指定します。
値 | 説明 |
---|---|
true | この値が既定値です。 外部関数に対して、コード ジェネレーターは MATLAB 関数の呼び出しを生成します。コード ジェネレーターはこの関数の内部コードを生成しません。 |
false | コード ジェネレーターは外部関数を無視します。MATLAB 関数の呼び出しに対して、コードは生成されません。外部関数が MATLAB 関数の出力に影響を与える場合、コード ジェネレーターは警告を発行します。
|
ExtrinsicCalls
の値は、MEX 関数による rand
、randi
、randn
の乱数発生方法に影響を与えます。ExtrinsicCalls
が true
の場合、MEX 関数は MATLAB のグローバル乱数ストリームを使用して乱数を生成します。そうでない場合は、MEX 関数は内蔵の乱数発生器を使用します。
生成コードでの MATLAB エンジンを使用した関数呼び出しの実行を参照してください。
FilePartitionMethod
— ファイルの分割モード
'MapMFileToCFile'
(既定値) | 'SingleFile'
ファイルの分割モード。次の表のいずれかの値として指定します。
値 | 説明 |
---|---|
'MapMFileToCFile' | この値が既定値です。 コード ジェネレーターは各 MATLAB 言語ファイルに対して個別の C/C++ ファイルを生成します。 |
'SingleFile' | コード ジェネレーターは、MATLAB エントリポイント関数にマッピングされる C/C++ 関数に対して 1 つのファイルを生成します。コード ジェネレーターは、ユーティリティ関数に対して個別の C/C++ ファイルを生成します。 |
MATLAB Coder が生成コードを分割する方法を参照してください。
GenCodeOnly
— ソース コードのみの生成
false
(既定値) | true
ソース コードのみの生成。次の表のいずれかの値として指定します。
値 | 説明 |
---|---|
false | この値が既定値です。 コード ジェネレーターは C/C++ ソース コードを生成し、オブジェクト コードをビルドします。 |
true | コード ジェネレーターは C/C++ ソース コードを生成しますが、make コマンドを呼び出したり、オブジェクト コードをビルドしたりしません。MATLAB コードの変更と C/C++ コードの生成を反復するときは、コードのみ生成すると時間を節約できます。 |
GenerateComments
— 生成されたコード内のコメント
true
(既定値) | false
生成されたコード内のコメント。次の表のいずれかの値として指定します。
値 | 説明 |
---|---|
true | この値が既定値です。 コード ジェネレーターは生成されたコードにコメントを配置します。 |
false | コード ジェネレーターは生成されたコードにコメントを配置しません。 |
GenerateComments
を true
に設定した場合、コード ジェネレーターは既定のコメント (推定された引数の型など) を生成されるコードに配置します。また、コード ジェネレーターは、MATLAB 関数内に配置されたコード コメントを生成されるコードにコピーします。ただし、いくつかの例外があります。たとえば、通常は、生成されるコードには内部の最適化のために削除された MATLAB 関数のコード コメントは含まれません。
ライブ関数のコード (.mlx
ファイル) を生成する場合、GenerateComments
を true
に設定しても、コード ジェネレーターは生成されるコードのテキスト セクションを含めません。生成されるコードにライブ関数のテキスト セクションをコメントとして含めるには、まず .mlx
ファイルを .m
ファイルとして保存します。これにより、テキスト セクションが関数本体内のコード コメントに変換されます。コード ジェネレーターは .m
ファイル内の関数よりも .mlx
ファイル内の関数を優先するため、いずれかの関数の名前を変更するか、いずれかのファイルを別のフォルダーに移動する必要があります。その後、.m
ファイルの関数のコードを生成します。コード ジェネレーターは、生成されるコードにテキスト セクションをコメントとして含めます。
GenerateReport
— コード生成レポート
false
(既定値) | true
コード生成レポート。次の表のいずれかの値として指定します。
値 | 説明 |
---|---|
false | この値が既定値です。 コード ジェネレーターは、エラーや警告メッセージが発生した場合のみ、または |
true | コード ジェネレーターはコード生成レポートを生成します。 |
GlobalDataSyncMethod
— グローバルなデータ同期モード
'SyncAlways'
(既定値) | 'SyncAtEntryAndExits'
| 'NoSync'
グローバルなデータ同期モード。次の表のいずれかの値として指定します。
値 | グローバル データの説明 | 定数のグローバル データの説明 |
---|---|---|
| この値が既定値です。 MEX 関数のエントリ時と終了時および外部の呼び出し時にグローバル データを同期することで、MATLAB と生成される MEX 関数の間で最大の一貫性が確保されます。外部呼び出しがグローバル データを変更しない場合は、このオプションを | MEX 関数のエントリ時と外部呼び出し後に定数のグローバル データの整合性を確認します。MATLAB グローバル ワークスペース内のグローバル データ値が MEX 関数内のコンパイル時の定数のグローバル値と一致しない場合、MEX 関数はエラーで終了します。特定の外部呼び出し後の整合性チェックをオフにするには、 |
| MEX 関数のエントリ時と終了時のみグローバル データを同期します。少数の外部呼び出しのみがグローバル データを変更する場合、パフォーマンスを最大化するには、このオプションを | MEX 関数のエントリ時のみに定数のグローバル データを確認します。MATLAB グローバル ワークスペース内のグローバル データ値が MEX 関数内のコンパイル時の定数のグローバル値と一致しない場合、MEX 関数はエラーで終了します。特定の外部呼び出し後の整合性チェックをオンにするには、 |
| 同期化を無効にします。同期化を無効にする前に、MEX 関数が MATLAB グローバル データとやり取りしていないことを確認します。そうでない場合は、MATLAB 関数と MEX 関数との間に不整合が生じる場合があります。 | 整合性チェックを無効にします。 |
グローバル データのためのコード生成を参照してください。
GpuConfig
— GPU コード生成用の構成オブジェクト
GpuCodeConfig
オブジェクト
GPU Coder を使用して CUDA GPU コードを生成するための構成オブジェクト。GpuCodeConfig
オブジェクトには、CUDA GPU コード生成に固有のパラメーターが含まれています。GpuCodeConfig
オブジェクトを作成するには、coder.gpuConfig
(GPU Coder) を使用します。次に例を示します。
cfg = coder.gpuConfig('mex'); cfg.GpuConfig ans = GpuCodeConfig with properties: Enabled: 1 MallocMode: 'discrete' KernelNamePrefix: '' EnableCUBLAS: 1 EnableCUSOLVER: 1 EnableCUFFT: 1 Benchmarking: 0 SafeBuild: 0 ComputeCapability: 'Auto' CustomComputeCapability: '' CompilerFlags: '' StackLimitPerThread: 1024 MallocThreshold: 200 MaximumBlocksPerKernel: 0 EnableMemoryManager: 1 SelectCudaDevice: -1
詳細については、コマンド ライン インターフェイスを使用したコード生成 (GPU Coder)を参照してください。
依存関係: GpuConfig
が設定されている場合、codegen
は coder.MexCodeConfig
のプロパティを次の表の値に変更します。
プロパティ | 値 |
---|---|
CppPreserveClasses | false |
DynamicMemoryAllocationInterface | 'C' (GpuCodeConfig の MallocMode プロパティが 'unified' に設定されている場合) |
EnableAutoParallelization | true |
EnableMemcpy | false |
EnableOpenMP | false |
ResponsivenessChecks | false |
TargetLang | 'C++' |
HighlightPotentialRowMajorIssues
— 行優先のレイアウトによる潜在的な問題
true
(既定値) | false
行優先のレイアウトによる効率性の潜在的な問題の表示。次の表のいずれかの値として指定します。
値 | 説明 |
---|---|
true | コード生成レポートには、行優先のレイアウトによる効率性の潜在的な問題が表示されます (この値が既定値です)。 |
false | コード生成レポートには、配列レイアウトに関する問題は表示されません。 |
行優先のレイアウトのコード設計を参照してください。
InitFltsAndDblsToZero
— memset を使用した float と double のゼロの代入
true
(既定値) | false
memset
を使用した float と double のゼロの代入。次の表のいずれかの値として指定します。
値 | 説明 |
---|---|
true | この値が既定値です。 可能であれば、コード ジェネレーターは、連続する配列要素への浮動小数点ゼロの代入に対して |
false | コード ジェネレーターは、連続する配列要素への float と double のゼロの代入に対して |
InlineBetweenMathWorksFunctions
— MathWorks 関数間のインライン化を制御
'Speed'
(既定値) | 'Always'
| 'Readability'
| 'Never'
MathWorks が別の MathWorks 関数を呼び出すすべての呼び出しサイトにおけるインライン化の動作。次の表のいずれかの値として指定します。
値 | 説明 |
---|---|
'Speed' | この値が既定値です。 内部のヒューリスティックな方法を使用して、呼び出しサイトでインライン化を実行するかどうかを判定します。通常、この設定を使用すると高度に最適化されたコードが生成されます。 |
'Always' | 呼び出しサイトでインライン化を常に実行します。 |
'Readability' | 非常に小さい関数の呼び出しを除き、関数呼び出しのインライン化をほぼ実行しません。可能な限り、速度を大幅に低下させることなくコードのモジュール性を維持します。非常に読みやすいコードが生成されます。 |
'Never' | 関数呼び出しのインライン化を実行しません。最大限の可読性が得られます。この設定では、生成コードのパフォーマンスが大幅に低下する可能性があります。 |
設定に 'Always'
オプションまたは 'Never'
オプションを選択しても、コード ジェネレーターがその指示に厳密に従わない場合があります。たとえば、競合がある場合、このオプションは、関数本体内に配置された coder.inline('always')
命令または coder.inline('never')
命令によってオーバーライドされます。詳細については、異なるインライン化制御間の相互作用を参照してください。
生成コードのパフォーマンスと可読性を微調整するためのインライン化の制御を参照してください。
InlineBetweenUserAndMathWorksFunctions
— ユーザー記述関数と MathWorks 関数の間のインライン化を制御
'Speed'
(既定値) | 'Always'
| 'Readability'
| 'Never'
記述した関数が MathWorks 関数を呼び出すか、MathWorks 関数が記述した関数を呼び出すすべての呼び出しサイトにおけるインライン化の動作。次の表のいずれかの値として指定します。
値 | 説明 |
---|---|
'Speed' | この値が既定値です。 内部のヒューリスティックな方法を使用して、呼び出しサイトでインライン化を実行するかどうかを判定します。通常、この設定を使用すると高度に最適化されたコードが生成されます。 |
'Always' | 呼び出しサイトでインライン化を常に実行します。 |
'Readability' | 非常に小さい関数の呼び出しを除き、関数呼び出しのインライン化をほぼ実行しません。可能な限り、速度を大幅に低下させることなくコードのモジュール性を維持します。非常に読みやすいコードが生成されます。 |
'Never' | 関数呼び出しのインライン化を実行しません。最大限の可読性が得られます。この設定では、生成コードのパフォーマンスが大幅に低下する可能性があります。 |
設定に 'Always'
オプションまたは 'Never'
オプションを選択しても、コード ジェネレーターがその指示に厳密に従わない場合があります。たとえば、競合がある場合、このオプションは、関数本体内に配置された coder.inline('always')
命令または coder.inline('never')
命令によってオーバーライドされます。詳細については、異なるインライン化制御間の相互作用を参照してください。
生成コードのパフォーマンスと可読性を微調整するためのインライン化の制御を参照してください。
InlineBetweenUserFunctions
— ユーザー記述関数間のインライン化を制御
'Speed'
(既定値) | 'Always'
| 'Readability'
| 'Never'
記述した関数が別の記述した関数を呼び出すすべての呼び出しサイトにおけるインライン化の動作。次の表のいずれかの値として指定します。
値 | 説明 |
---|---|
'Speed' | この値が既定値です。 内部のヒューリスティックな方法を使用して、呼び出しサイトでインライン化を実行するかどうかを判定します。通常、この設定を使用すると高度に最適化されたコードが生成されます。 |
'Always' | 呼び出しサイトでインライン化を常に実行します。 |
'Readability' | 非常に小さい関数の呼び出しを除き、関数呼び出しのインライン化をほぼ実行しません。可能な限り、速度を大幅に低下させることなくコードのモジュール性を維持します。非常に読みやすいコードが生成されます。 |
'Never' | 関数呼び出しのインライン化を実行しません。最大限の可読性が得られます。この設定では、生成コードのパフォーマンスが大幅に低下する可能性があります。 |
設定に 'Always'
オプションまたは 'Never'
オプションを選択しても、コード ジェネレーターがその指示に厳密に従わない場合があります。たとえば、競合がある場合、このオプションは、関数本体内に配置された coder.inline('always')
命令または coder.inline('never')
命令によってオーバーライドされます。詳細については、異なるインライン化制御間の相互作用を参照してください。
生成コードのパフォーマンスと可読性を微調整するためのインライン化の制御を参照してください。
IntegrityChecks
— メモリの整合性チェック
true
(既定値) | false
メモリの整合性チェック。次の表のいずれかの値として指定します。
値 | 説明 |
---|---|
true | この値が既定値です。 生成されたコードはメモリの整合性違反を検出し、診断メッセージを表示して実行を停止します。 |
false | 生成されたコードはメモリの整合性違反を検出しません。
|
実行時チェックの制御を参照してください。
LargeConstantGeneration
— 大きな深層学習の定数をバイナリ データ ファイルに書き込むかどうか
'WriteOnlyDNNConstantsToDataFiles'
(既定値) | 'KeepInSourceFiles'
コード ジェネレーターが深層ニューラル ネットワーク (DNN) の大きな定数を生成ソース コード内に埋め込むか、これらの定数をバイナリ データ ファイルに書き込むかを、次の表のいずれかの値で指定します。しきい値 (バイト単位) を指定し、これを超えると DNN の定数がバイナリ データ ファイルに書き込まれるようにするには、LargeConstantThreshold
プロパティを設定します。このプロパティの既定値は 131072
です。
このプロパティは、サードパーティの深層学習ライブラリに依存しないコードを生成する場合にのみ適用されます。
値 | 説明 |
---|---|
'WriteOnlyDNNConstantsToDataFiles' | この値が既定値です。 コード ジェネレーターは、深層ニューラル ネットワーク (DNN) の大きな定数をバイナリ データ ファイルに書き込みます。 |
'KeepInSourceFiles' | コード ジェネレーターは、深層ニューラル ネットワーク (DNN) の大きな定数を生成ソース コード内に埋め込みます。 |
生成されたバイナリ データ ファイルはコード生成フォルダーにあり、生成されたコードによって実行時に読み込まれます。これらのファイルを移動する場合は、生成されたコードを実行する前に、環境変数 CODER_DATA_PATH
をこの新しい場所に設定します。
コード ジェネレーターは常に、定数のサイズに関係なく、生成されたソース コードに非 DNN の定数を埋め込みます。
依存関係:
EnableDynamicMemoryAllocation
により、このパラメーターが有効になります。
LargeConstantThreshold
— これを超えると、コード ジェネレーターが DNN の定数をバイナリ データ ファイルに書き込むしきい値
131072
(既定値) | 整数
LargeConstantThreshold
プロパティは、これを超えると、深層ニューラル ネットワーク (DNN) の定数がバイナリ データ ファイルに書き込まれるしきい値 (バイト単位) を指定します。既定では、コード ジェネレーターはこのしきい値を 131072 バイトに設定します。アプリケーションに応じて、このしきい値を異なる整数値に設定できます。
このプロパティは、サードパーティの深層学習ライブラリに依存しないコードを生成する場合にのみ適用されます。
依存関係: このプロパティを有効にするには、以下の両方のアクションを実行します。
EnableDynamicMemoryAllocation
をtrue
に設定します。LargeConstantGeneration
を'WriteOnlyDNNConstantsToDataFiles'
に設定します。
LaunchReport
— コード生成レポートを自動的に開く
false
(既定値) | true
コード生成レポートを自動的に開く。次の表のいずれかの値として指定します。
値 | 説明 |
---|---|
false | この値が既定値です。 エラーや警告が発生した場合、または |
true | コード ジェネレーターはコード生成レポートを生成して開きます。 |
MATLABSourceComments
— 生成コードに MATLAB ソース コードをコメントとして含める
false
(既定値) | true
生成コードに MATLAB ソース コードをコメントとして含める。次の表のいずれかの値として指定します。
値 | 説明 |
---|---|
false | この値が既定値です。 コード ジェネレーターは MATLAB ソース コードをコメントとして生成コードに挿入しません。コード ジェネレーターは関数バナーに MATLAB 関数シグネチャを含めません。 |
true | コード ジェネレーターは MATLAB ソース コードをコメントとして生成コードに挿入します。トレーサビリティ タグがソース コードの各行の直前に挿入されます。トレーサビリティ タグにより、対応する MATLAB ソース コードの位置を特定できます。MATLAB ソース コードへの生成された C/C++ コードのトレースを参照してください。 コード ジェネレーターは関数バナーに MATLAB 関数シグネチャも含めます。 |
依存関係:
GenerateComments
により、このパラメーターが有効になります。
MATLAB ソース コードへの生成された C/C++ コードのトレースを参照してください。
MemcpyThreshold
— memcpy
最適化または memset
最適化の最小サイズ
64 (既定値) | 正の整数
memcpy 最適化または memset 最適化の最小サイズ (バイト単位)。正の整数として指定します。
連続する配列要素をコピーする生成されたコードを最適化するために、コード ジェネレーターはこのコードを memcpy
呼び出しに置き換えることを試みます。リテラル定数を連続する配列要素に代入する生成されたコードを最適化するために、コード ジェネレーターはこのコードを memset
呼び出しに置き換えることを試みます。
バイト数は、コピーまたは代入する配列要素数に C/C++ データ型に必要なバイト数を乗算した値です。
コピーまたは代入する要素の数が可変である (コンパイル時に不明) 場合、コード ジェネレーターは MemcpyThreshold
プロパティを無視します。
memcpy 最適化とmemset の最適化を参照してください。
Name
— オブジェクト名
'MexCodeConfig'
(既定値) | 文字ベクトル
オブジェクト名。文字ベクトルとして指定します。
NumberOfCpuThreads
— 並列 for ループを実行する CPU スレッドの最大数
0 (既定値) | 正の整数
生成された C/C++ コードで並列 for
ループを実行する CPU スレッドの最大数。正の整数として指定します。
生成コードで並列 for ループを実行するための最大スレッド数の指定を参照してください。
OptimizeReductions
— リダクション演算の SIMD コードの生成 | リダクション演算を実行する for ループの並列化
'false'
(既定値) | 'true'
リダクション演算用の SIMD コードを生成するには、次の表で示されている値のいずれかを使用します。
値 | 説明 |
---|---|
false | この値が既定値です。 コード ジェネレーターは、リダクション演算用の SIMD コードを生成しません。 |
true | このパラメーターを使用するには、 |
Generate SIMD Code from MATLAB Functions for Intel Platformsを参照してください。
リダクション演算を実行する並列 for
ループを生成するには、次の表で示されている値のいずれかを使用します。
値 | 説明 |
---|---|
false | この値が既定値です。 コード ジェネレーターは、リダクション演算を実行する |
true | コード ジェネレーターは、 |
Reduction Operations Supported for Automatic Parallelization of for-loopsを参照してください。
メモ
リダクション演算のベクトル化と並列化により、若干の数値的なずれが生じる可能性があります。詳細については、Handling Overflow in Automatic Parallelization of for-loopsを参照してください。
PostCodeGenCommand
— ビルド プロセスをカスタマイズするコマンド
''
(既定値) | 文字ベクトル
codegen
を使用した MEX 関数の生成後にビルド プロセスをカスタマイズするコマンド。文字ベクトルとして指定します。
ビルド プロセスのカスタマイズを参照してください。
PreserveArrayDimensions
— N 次元のインデックス
false
(既定値) | true
N 次元のインデックスを使用するコードの生成。次の表のいずれかの値として指定します。
値 | 説明 |
---|---|
false | 1 次元インデックスを使用するコードを生成します (この値が既定値です)。 |
true | N 次元インデックスを使用するコードを生成します。 |
N 次元インデックスを使用するコードの生成を参照してください。
PreserveVariableNames
— 生成されたコード内に保持する変数名
'None'
(既定値) | 'UserNames'
| 'All'
生成されたコード内に保持する変数名。次の表のいずれかの値として指定します。
値 | 説明 |
---|---|
'None' | この値が既定値です。 コード ジェネレーターで変数名を保持する必要はありません。変数再利用の要件に適合する変数であれば、再利用します。 コードで大きい構造体または配列を使用する場合、 |
'UserNames' | コード ジェネレーターは MATLAB コードで定義した変数に対応する名前を保持します。ユーザーの変数名が別の名前で置換されたり、ユーザーの名前が別の変数に使用されることはありません。可読性を向上させるには、
|
'All' | すべての変数名を保持します。このパラメーター値により変数再利用が無効になります。テストまたはデバッグのみに使用し、量産コードでは使用しないでください。 |
生成されたコードでの変数名の保持を参照してください。
ReportInfoVarName
— コード生成レポートの情報を格納する変数の名前
''
(既定値) | 文字ベクトル
コード生成に関する情報をエクスポートする変数の名前。文字ベクトルとして指定します。コード ジェネレーターでは、この変数をベースの MATLAB ワークスペースに作成します。この変数には、コード生成設定、入力ファイル、生成ファイル、およびコード生成メッセージに関する情報が格納されます。
コード生成レポートの情報へのプログラムによるアクセスおよび coder.ReportInfo のプロパティ を参照してください。
ReportPotentialDifferences
— 潜在的な相違点のレポート
true
(既定値) | false
潜在的な相違点のレポート。次の表のいずれかの値として指定します。
値 | 説明 |
---|---|
true | コード ジェネレーターは生成コードと MATLAB コード間での潜在的な動作の相違をレポートします。潜在的な相違はコード生成レポートのタブに一覧表示されます。潜在的な相違とは、特定の状況にある場合にのみ実行時に生じる違いです。 |
false | コード ジェネレーターは潜在的な相違をレポートしません。 |
潜在的な相違点のレポートを参照してください。
ReservedNameArray
— コード ジェネレーターが関数や変数用に使用できない名前
''
(既定値) | string 配列 | 文字ベクトルの cell 配列 | 文字ベクトル
コード ジェネレーターが関数または変数に使用してはならない名前のリスト。string 配列、文字ベクトルの cell 配列、または文字ベクトルとして指定します。
複数の予約名。次の表のいずれかの値として指定します。
値 | 説明 |
---|---|
string 配列 |
|
文字ベクトルの cell 配列 |
|
文字ベクトル |
メモ コード構成オブジェクトでの文字ベクトルを使用した複数のエントリの指定は、将来のリリースで削除される予定です。代わりに string 配列または文字ベクトルの cell 配列を使用してください。詳細については、互換性についての考慮事項を参照してください。 |
ResponsivenessChecks
— 応答性チェック
true
(既定値) | false
応答性チェック。次の表のいずれかの値として指定します。
値 | 説明 |
---|---|
true | この値が既定値です。 Ctrl + C を使用して生成された MEX 関数の実行を停止できます。 |
false | 長時間かかる MEX 関数を終了させるには、MATLAB を終了させなければならない場合があります。 |
GPU Coder を使用する場合、このパラメーターはコード ジェネレーターで常に無効になります。
実行時チェックの制御を参照してください。
RowMajor
— 行優先の配列レイアウト
false
(既定値) | true
行優先の配列レイアウトを使用するコードの生成。次の表のいずれかの値として指定します。
値 | 説明 |
---|---|
false | 列優先の配列レイアウトを使用するコードを生成します (この値が既定値です)。 |
true | 行優先の配列レイアウトを使用するコードを生成します。 |
行優先の配列レイアウトを使用するコードの生成を参照してください。
SaturateOnIntegerOverflow
— 整数オーバーフローのサポート
true
(既定値) | false
整数オーバーフローのサポート。次の表のいずれかの値として指定します。
値 | 説明 |
---|---|
true | この値が既定値です。 コード ジェネレーターは整数オーバーフローを処理するコードを生成します。オーバーフローは、データ型が表現できる最小値または最大値のいずれかに飽和します。 |
false | コード ジェネレーターは整数オーバーフローを処理するコードを生成しません。コードが整数オーバーフローのサポートに依存していることが確認されない限り、 |
このパラメーターは、MATLAB の組み込み整数型にのみ適用されます。double、single または固定小数点データ型には適用されません。
整数オーバーフローまたは非有限のサポートの無効化を参照してください。
SIMDAcceleration
— SIMD 内部パラメーターのレベル
'Portable'
(既定値) | 'Full'
| 'None'
ベクトル演算を高速化するために使用する SIMD 内部パラメーターのレベル。MATLAB Coder により、指定したハードウェアとコンパイラがチェックされ、次の表に従って指定したレベルまでの互換性がある内部パラメーターが使用されます。
値 | 命令セット |
---|---|
'Full' | AVX2 |
'Portable' | SSE2 |
'None' | 命令セットは使用されません。 |
SIMD コードは、Intel および AMD のプラットフォームについて生成できます。別のプラットフォームのコードを生成する場合、コードに SIMD 内部パラメーターは含まれません。
StackUsageMax
— アプリケーションごとの最大スタック使用量
200000
(既定値) | 正の整数
アプリケーションごとの最大スタック使用量 (バイト単位)。正の整数として指定します。使用できるスタック サイズより小さい制限値を設定します。そうしないと、実行時スタック オーバーフローが発生する場合があります。C コンパイラはスタック オーバーフローを検出して報告します。
スタック領域使用量の制御を参照してください。
TargetLang
— 生成されたコードで使用する言語
'C'
(既定値) | 'C++'
生成されたコードで使用する言語。'C'
または 'C++'
として指定します。
GPU Coder を使用する場合、TargetLang
はコード ジェネレーターで常に C++
に設定されます。
依存関係: DeepLearningConfig
を設定すると、codegen
で TargetLang
が C++
に設定されます。
Verbosity
— コード生成の進行状況表示
'Info'
(既定値) | 'Silent'
| 'Verbose'
MATLAB コマンド ラインでコード生成の進行状況のステータスを表示するかどうか。次の表のいずれかの値として指定します。
値 | 説明 |
---|---|
'Silent' | コード生成が警告なしで正常に実行された場合に、レポートの生成時も含め、すべてのメッセージを非表示にします。 警告およびエラー メッセージは表示されます。 |
'Info' | この値が既定値です。
|
'Verbose' |
|
例
MEX 関数生成用の構成パラメーターを指定する
コードを生成できる MATLAB 関数を記述します。この例では、入力の合計を返す関数 myadd
を使用します。
function c = myadd(a,b) c = a + b; end
MEX 関数生成用の構成オブジェクトを作成します。
cfg = coder.config('mex');
既定値を使用しないプロパティの値を変更します。たとえば、Just-In-Time (JIT) コンパイルを有効にします。
cfg.EnableJIT = true;
codegen
を使用してコードを生成します。-config
オプションを使用して構成オブジェクトを codegen
に渡します。入力引数が double 型のスカラーであることを指定します。
codegen myadd -config cfg -args {1 1} -report
代替機能
構成オブジェクトを作成する代わりに、MEX 関数の生成で既定の構成パラメーター値を使用するには、構成オブジェクトを指定せずに、または -config:mex
オプションを使用して codegen
を呼び出すことができます。
バージョン履歴
R2011a で導入R2024a: 引用符を使用して空白を含む単一のファイル名またはパスを指定する機能が削除
引用符を使用して、CustomInclude
、CustomLibrary
、および CustomSource
コード構成パラメーターに対して空白を含む単一のファイル名またはパス (例: '"folder1\folder2\sp ace\fun3.c"'
) を指定しようとすると、コード ジェネレーターでエラーが生成されます。
R2023b: コード構成オブジェクトで文字ベクトルを使用して複数のエントリを指定するとエラーが発生
コード構成オブジェクトで区切り記号を含む文字ベクトルまたは string スカラーを使用して複数のファイル名、パス、または予約名を指定すると、エラーが発生します。代わりに string 配列または文字ベクトルの cell 配列を使用してください。たとえば、複数のフォルダー名をインクルードするには、CustomInclude
で string 配列を cfg.CustomInclude = ["C:\Project","C:\Custom Files"];
として使用するか、文字ベクトルの cell 配列を cfg.CustomInclude = {'C:\Project','C:\Custom Files'};
として使用して、生成コードのコンパイル用のパスをインクルードできます。
R2023b: 引用符を使用して空白を含む単一のファイル名またはパスを指定すると警告が発生
引用符を使用して CustomInclude
、CustomLibrary
、および CustomSource
コード構成プロパティに対して空白を含む単一のファイル名またはパス (たとえば、'"sp ace/fun3.c"'
) を指定すると、警告が生成されます。この用法は、将来のリリースで削除される予定です。
R2023a: DynamicMemoryAllocation
プロパティは削除予定
将来のリリースでは、DynamicMemoryAllocation
プロパティは削除される予定です。
可変サイズの配列に対してメモリを動的に割り当てるには、EnableDynamicMemoryAllocation
プロパティを使用してください。動的メモリ割り当てしきい値を構成するには、DynamicMemoryAllocationThreshold
プロパティを使用します。
R2022b: コード構成オブジェクトで文字ベクトルを使用して複数のエントリを指定すると警告が発生
コード構成オブジェクトでの区切り記号を含む文字ベクトルまたは string スカラーを使用した複数のファイル名、パス、予約名の指定は将来のリリースで削除される予定であり、使用すると警告が発生します。代わりに string 配列または文字ベクトルの cell 配列を使用してください。たとえば、複数のフォルダー名をインクルードするには、CustomInclude
で string 配列を cfg.CustomInclude = ["C:\Project","C:\Custom Files"];
として使用するか、文字ベクトルの cell 配列を cfg.CustomInclude = {'C:\Project','C:\Custom Files'};
として使用して、生成コードのコンパイル用のパスをインクルードできます。
R2021a: コード構成オブジェクトで文字ベクトルを使用して複数のエントリを指定する機能は削除予定
将来のリリースでは、コード構成オブジェクトでの区切り記号を含む文字ベクトルまたは string スカラーを使用した複数のファイル名、パス、予約名の指定は削除される予定です。代わりに string 配列または文字ベクトルの cell 配列を使用してください。たとえば、複数のフォルダー名をインクルードするには、CustomInclude
で string 配列を cfg.CustomInclude = ["C:\Project","C:\Custom Files"];
として使用するか、文字ベクトルの cell 配列を cfg.CustomInclude = {'C:\Project','C:\Custom Files'};
として使用して、生成コードのコンパイル用のパスをインクルードできます。
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)