coder.EmbeddedCodeConfig
Embedded Coder で MATLAB コードから C/C++ コードを生成するための構成パラメーター
説明
coder.EmbeddedCodeConfig オブジェクトには、Embedded Coder® でスタティック ライブラリ、ダイナミック リンク ライブラリまたは実行可能プログラムを生成するために codegen が使用する構成パラメーターが含まれます。-config オプションを使用して、オブジェクトを関数 codegen に渡します。
作成
関数 coder.config を使用して coder.EmbeddedCodeConfig オブジェクトを作成します。
coder.EmbeddedCodeConfig オブジェクトの作成後、そのプロパティをコマンド ラインからプログラムで変更するか、構成パラメーター ダイアログ ボックスを使用して対話的に変更できます。Specify Code Configuration Parameters Interactivelyを参照してください。
プロパティ
ツールチェーンのコンパイラ最適化またはデバッグ設定。'Faster Runs'、'Faster Builds'、'Debug'、または 'Specify' として指定します。詳細については、ビルド構成を参照してください。
動的な配列の最適化。true または false として指定します。詳細については、動的な配列データをキャッシュを参照してください。
生成される C/C++ コード内の変数のデータ型のキャスト レベル。'Nominal'、'Standards'、または 'Explicit' として指定します。詳細については、キャスト モードを参照してください。
生成コードの書式設定に使用する clang-format ファイルの生成を制御します。'Generate' または 'Existing' として指定します。詳細については、clang 形式の構成ファイルの使用を制御を参照してください。
ソフトウェアインザループ (SIL) またはプロセッサインザループ (PIL) 実行時の C/C++ コード カバレッジの解析。false または true として指定します。詳細については、C/C++ コード カバレッジを有効にするを参照してください。
ソフトウェアインザループ (SIL) またはプロセッサインザループ (PIL) 実行時のエントリ ポイントの実行時間プロファイリング。false または true として指定します。詳細については、実行プロファイリングを有効にするを参照してください。
生成コードの書式設定ツール。'Auto'、'Clang-format'、または 'MathWorks' として指定します。詳細については、使用するコード形式ツールの選択を参照してください。
関数のパフォーマンス監視ユニット (PMU) メトリクスのプロファイリング。次の表にリストされている値のいずれかとして指定します。
| 値 | 説明 |
|---|---|
"time" | ターゲット ハードウェアの PMU からメトリクスを抽出しません。 |
"totinstr" | 合計命令数を抽出します。 |
"floatinsts" | FPU 命令数を抽出します。 |
"floatopts" | FPU 演算数を抽出します。 |
"intinstr" | ALU 命令数を抽出します。 |
"loadinstr" | 読み込み命令数を抽出します。 |
"storeinstr" | 保存命令数を抽出します。 |
"totcyc" | 合計サイクル数を抽出します。 |
"l1dcm" | L1 データ キャッシュ ミスを抽出します。 |
"l1icm" | L1 命令キャッシュ ミスを抽出します。 |
"l2dcm" | L2 データ キャッシュ ミスを抽出します。 |
"l2icm" | L2 命令キャッシュ ミスを抽出します。 |
"tlbdm" | TLB データ ミスを抽出します。 |
"tlbim" | TLB 命令ミスを抽出します。 |
"memstall" | メモリ ストール サイクルを抽出します。 |
"totstall" | 合計ストール サイクル数を抽出します。 |
詳細については、SIL/PIL プロファイリング メトリクスを参照してください。
ソフトウェアインザループ (SIL) またはプロセッサインザループ (PIL) 実行時のエントリポイント関数内で呼び出される関数の実行時間プロファイリング。false または true として指定します。詳細については、関数実行プロファイリングを有効にするを参照してください。
実行時間の測定の収集と格納。"AllData"、"SummaryOnly"、または "MetricsOnly" として指定します。詳細については、プロファイリング保存オプションの指定を参照してください。
生成コードのコード置換ライブラリ。文字ベクトルとして指定します。詳細については、コード置換ライブラリを参照してください。
ソフトウェアインザループ (SIL) またはプロセッサインザループ (PIL) 実行時のエントリポイント関数のスタック使用量プロファイリング。false または true として指定します。詳細については、エントリ ポイント スタック プロファイリングを有効にするを参照してください。
生成コード内のファイル バナーおよび関数バナーのコード生成テンプレート。coder.MATLABCodeTemplate クラスの 0 行 0 列の配列または coder.MATLABCodeTemplate オブジェクトとして指定します。詳細については、コード生成テンプレート ファイルを参照してください。
生成されたコードの改行の前の最大列数。[45, 65536] の範囲の正の整数として指定します。詳細については、列の制限を参照してください。
生成コードのコメント スタイル。'Auto'、'Single-line'、または 'Multi-line' として指定します。詳細については、コメント スタイルを参照してください。
コンパイル時の再帰による関数の特殊化の最大数。正の整数として指定します。詳細については、コンパイル時の再帰限界値を参照してください。
定数畳み込みによって実行される命令の最大数。正の整数として指定します。詳細については、定数畳み込みのタイムアウトを参照してください。
生成コードでの if-elseif-else パターンの switch-case ステートメントへの変換。false または true として指定します。詳細については、if-elseif-else のパターンを switch-case ステートメントに変換するを参照してください。
列挙クラスを含む C++ コードを生成するかどうか。true または false として指定します。詳細については、MATLAB 列挙から C++ enum クラスを生成を参照してください。
CppInterfaceStyle が 'Methods' に設定されている場合の生成される C++ コードのインターフェイス クラス名。文字ベクトルとして指定します。詳細については、C++ インターフェイス クラス名を参照してください。
コードの生成元である MATLAB エントリポイント関数の生成される C++ コードのインターフェイス スタイル。'Functions' または 'Methods' として指定します。詳細については、インターフェイス スタイルを参照してください。
生成された C++ コードの名前空間。文字ベクトルとして指定します。詳細については、C++ 名前空間を参照してください。
MathWorks コードに対して生成される C++ コードを個別の名前空間に配置します。文字ベクトルとして指定します。詳細については、MathWorks コードの名前空間を参照してください。
MATLAB クラスに対応する C++ クラスを生成します。true または false として指定します。詳細については、MATLAB クラスから C++ クラスを生成を参照してください。
MATLAB 名前空間に対応する C++ 名前空間を生成します。true または false として指定します。詳細については、MATLAB 名前空間から C++ 名前空間を生成を参照してください。
MATLAB コードの特定の低水準なベクトルと行列の演算に対して生成されるコードの BLAS コールバック クラス。文字ベクトルとして指定します。詳細については、カスタム BLAS ライブラリのコールバックを参照してください。
MATLAB コードで関数 FFT に対して生成されたコードの FFTW ライブラリ呼び出しのコールバック クラス。文字ベクトルとして指定します。詳細については、カスタム FFT ライブラリのコールバックを参照してください。
ファイル名のカスタマイズ マクロ。文字ベクトルとして指定します。詳細については、生成されるソース ファイルおよびヘッダー ファイルの名前の形式を参照してください。
MATLAB コードから生成される C/C++ ヘッダー ファイル (rtwtypes.h および rtwhalf.h を除く) の最上部に表示されるカスタム コード。文字ベクトルとして指定します。詳細については、ヘッダー ファイルを参照してください。
生成コードのコンパイル用にインクルード パスに追加するインクルード フォルダー。string 配列、文字ベクトルの cell 配列、または文字ベクトルとして指定します。詳細については、追加インクルード ディレクトリを参照してください。
生成された初期化関数に含めるカスタム コード。文字ベクトルとして指定します。詳細については、初期化関数を参照してください。
MATLAB コードの特定の線形代数関数に対して生成されるコードの LAPACK コールバック クラス。文字ベクトルとして指定します。詳細については、カスタム LAPACK ライブラリのコールバックを参照してください。
生成コードにリンクするスタティック ライブラリ ファイル。string 配列、文字ベクトルの cell 配列、または文字ベクトルとして指定します。詳細については、追加ライブラリを参照してください。
コンパイルして生成コードにリンクするソース ファイル。string 配列、文字ベクトルの cell 配列、または文字ベクトルとして指定します。詳細については、追加ソース ファイルを参照してください。
生成される .c ファイルまたは .cpp ファイル (rtwhalf.c または rtwhalf.cpp を除く) の最上部付近 (すべての関数の外側) に表示されるコード。文字ベクトルとして指定します。詳細については、ソース ファイルを参照してください。
生成コードにおける EMX 配列型 (組み込み可能な mxArray 型) のカスタム識別子の形式。文字ベクトルとして指定します。詳細については、EMX 配列タイプを参照してください。
生成コードにおける EMX 配列 (組み込み可能な mxArray) ユーティリティ関数のカスタム識別子の形式。文字ベクトルとして指定します。詳細については、EMX 配列ユーティリティ関数を参照してください。
生成コードにおけるローカル関数識別子のカスタム識別子の形式。文字ベクトルとして指定します。詳細については、ローカル関数を参照してください。
生成コードにおけるグローバルなタイプの識別子のフィールド名に対するカスタム識別子の形式。文字ベクトルとして指定します。詳細については、グローバルなタイプのフィールド名を参照してください。
生成コードにおけるグローバル変数識別子のカスタム識別子の形式。文字ベクトルとして指定します。詳細については、グローバル変数を参照してください。
生成コードにおける定数マクロ識別子のカスタム識別子の形式。文字ベクトルとして指定します。詳細については、定数のマクロを参照してください。
生成コードにおけるローカルな一時変数識別子のカスタム識別子の形式。文字ベクトルとして指定します。詳細については、ローカルな一時変数を参照してください。
生成コードにおけるグローバルなタイプの識別子のカスタム識別子の形式。文字ベクトルとして指定します。詳細については、グローバルなタイプを参照してください。
生成された終了関数に表示されるコード。文字ベクトルとして指定します。詳細については、終了関数を参照してください。
選択したツールチェーンのツールに対するカスタム設定。cell 配列として指定します。詳細については、カスタム ツールチェーン オプションを参照してください。
生成コードのデータ型置換。'CBuiltIn' または 'CoderTypeDefs' として指定します。詳細については、データ型置換を参照してください。
深層学習ネットワークのコード生成の構成オブジェクト。次の表のいずれかのオブジェクトとして指定します。
| オブジェクト | 必要 | 説明 |
|---|---|---|
coder.MklDNNConfig |
|
cfg = coder.config('mex'); cfg.TargetLang = 'C++'; cfg.DeepLearningConfig = coder.DeepLearningConfig('mkldnn'); MKL-DNN を使用した、深層学習ネットワークのためのコード生成を参照してください。 |
coder.ARMNEONConfig |
|
cfg = coder.config('lib'); cfg.TargetLang = 'C++'; cfg.DeepLearningConfig = coder.DeepLearningConfig('arm-compute'); |
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)を参照してください。 |
依存関係: DeepLearningConfig を設定すると、codegen で TargetLang が C++ に設定されます。
オブジェクトの説明。文字ベクトルとして指定します。
動的メモリ割り当てモード。次の表のいずれかの値として指定します。
| 値 | 説明 |
|---|---|
'Threshold' | この値が既定値です。 コード ジェネレーターは、サイズ (バイト単位) が |
'AllVariableSizeArrays' | コード ジェネレーターは、ヒープ上ですべての可変サイズ配列のメモリを動的に割り当てます。 |
'Off' | コード ジェネレーターは、スタック上で可変サイズ配列のメモリを静的に割り当てます。 |
制限のない可変サイズの配列では動的なメモリ割り当てが必要です。
依存関係:
EnableVariableSizingにより、このパラメーターが有効になります。この
DynamicMemoryAllocationを'Threshold'に設定すると、DynamicMemoryAllocationThresholdパラメーターが有効になります。
可変サイズ配列のコード生成を参照してください。
メモ
DynamicMemoryAllocation 構成オブジェクト プロパティは将来のリリースで削除される予定です。可変サイズの配列に対してメモリを動的に割り当てるには、EnableDynamicMemoryAllocation プロパティを使用してください。動的メモリ割り当てしきい値の設定には DynamicMemoryAllocationThreshold プロパティを使用します。
固定サイズの配列に対する動的メモリ割り当て。false または true として指定します。詳細については、固定サイズの配列に対する動的メモリ割り当てを有効化を参照してください。
生成される関数インターフェイスにおいて動的に割り当てられる配列。'Auto'、'C'、または 'C++' として指定します。詳細については、動的メモリ割り当てインターフェイスを参照してください。
可変サイズの配列の動的なメモリ割り当てのサイズしきい値。正の整数として指定します。詳細については、動的メモリ割り当てしきい値を参照してください。
自動的な外部関数呼び出し。true または false として指定します。詳細については、外部呼び出しを自動的に導入を参照してください。
for ループの自動並列化。false または true として指定します。詳細については、自動並列化を有効にするを参照してください。
for ループの自動並列化のレポート作成。true または false として指定します。詳細については、自動並列化のレポートを有効にするを参照してください。
生成コードにおけるデータ型のカスタム名。false または true として指定します。詳細については、カスタム データ型置換を有効化を参照してください。
可変サイズの配列に対する動的メモリ割り当てを有効にします。true または false として指定します。詳細については、動的メモリ割り当てを有効化を参照してください。
生成コードでの暗黙的な拡張機能。true または false として指定します。詳細については、暗黙的な拡張を有効にするを参照してください。
memcpy 最適化。true または false として指定します。詳細については、ベクトルの代入に対する memcpy の使用を参照してください。
parfor ループの並列化。true または false として指定します。詳細については、可能な場合は OpenMP ライブラリを有効にするを参照してください。
実行時の再帰のサポート。true または false として指定します。詳細については、実行時の再帰を有効にするを参照してください。
生成される C/C++ コードにおける 2 のべき乗での乗算の符号付きビット単位左シフトへの置換。true または false として指定します。詳細については、固定小数点の演算および 2 のべき乗の乗算には符号付き左シフトを使用するを参照してください。
生成コードにおける符号付きビット単位右シフト。true または false として指定します。詳細については、符号付き整数の右シフトを許可を参照してください。
強度低減の最適化。false または true として指定します。詳細については、配列のインデックスを簡略化するを参照してください。
コード生成レポートのトレーサビリティ。true または false として指定します。詳細については、コードのトレーサビリティを有効にするを参照してください。
可変サイズ配列のサポート。true または false として指定します。詳細については、可変サイズを有効化を参照してください。
ファイルの分割モード。'MapMFileToCFile' または 'SingleFile' として指定します。詳細については、生成されたファイルの分割法を参照してください。
静的コード メトリクス レポート。false または true として指定します。詳細については、静的コード メトリクス レポートの生成を参照してください。
ソース コードのみの生成。true または false として指定します。詳細については、コード生成のみを参照してください。
コード置換レポート。false または true として指定します。詳細については、コード置換レポートの生成を参照してください。
生成されたコード内のコメント。true または false として指定します。詳細については、コメントを含めるを参照してください。
すべての switch ステートメントの default ケース。false または true として指定します。詳細については、switch の default ケースを常に生成するを参照してください。
C/C++ main ファイルの例の生成。'GenerateCodeOnly'、'DoNotGenerate'、または 'GenerateCodeAndCompile' として指定します。詳細については、main の例の生成を参照してください。
ビルド プロセス中の makefile の生成。true または false として指定します。詳細については、makefile の生成を参照してください。
非有限データのサポート ファイルの生成 (非有限データが使用されている場合のみ)。true または false として指定します。詳細については、非有限サポート ファイルを生成 (使用されている場合) を参照してください。
コード生成レポート。false または true として指定します。詳細については、常にレポートを作成を参照してください。
GPU Coder を使用して CUDA GPU コードを生成するための構成オブジェクト。GpuCodeConfig オブジェクトには、CUDA GPU コード生成に固有のパラメーターが含まれています。GpuCodeConfig オブジェクトを作成するには、coder.gpuConfig (GPU Coder) を使用します。以下に例を示します。
cfg = coder.gpuConfig('lib'); 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 が設定されている場合、コード ジェネレーターは GPU コード生成に必要な特定のプロパティに固定値を使用します。既定値が異なるプロパティもいくつかあります。詳細については、Configure GPU Code Generation (GPU Coder)を参照してください。
ハードウェア ボードを指定するオブジェクト。coder.Hardware オブジェクトを作成するには、関数 coder.hardware を使用します。以下に例を示します。
cfg = coder.config('lib');
hw = coder.hardware('Raspberry Pi');
cfg.Hardware = hw;coder.hardware を使用する前に、ハードウェア ボードのサポート パッケージをインストールしなければなりません。
依存関係:
Hardwareを設定すると、特定のハードウェア ボードに対するハードウェア実行オブジェクトと他のコンフィギュレーション パラメーターがカスタマイズされます。DeepLearningConfigをcoder.ARMNEONConfigオブジェクトに設定した場合にHardwareが空であると、codegenでGenCodeOnlyプロパティがtrueに設定されます。
メモ:
coder.CodeConfigオブジェクトcfgを MATLAB セッションで作成し、そのオブジェクトを別の MATLAB セッションで使用するとします。2 つ目のセッションの MATLAB ホスト コンピューターにcfg.Hardwareプロパティで指定されたハードウェア ボードがインストールされていないと、このパラメーターは既定値に戻ります。既定値は[]です。アプリで [ハードウェア ボード] オプションを[MATLAB Host Computer]に設定すると、cfg.Hardwareおよびcfg.HardwareImplementation.ProdHWDeviceTypeの既定値を使用することと同じになります。
PIL 実行用のハードウェア ボードを指定するには、PIL Execution with ARM Cortex-A at the Command Line (Embedded Coder)を参照してください。
C/C++ コード生成のハードウェア固有の構成パラメーターを指定するハードウェア実行オブジェクト。coder.config は、HardwareImplementation プロパティが MATLAB ホスト コンピューターの既定のパラメーター値をもつ coder.HardwareImplementation オブジェクトに設定された coder.EmbeddedCodeConfig オブジェクトを作成します。
生成されたコードでのプリプロセッサ命令のスタイル。'UseIncludeGuard' または 'UsePragmaOnce' として指定します。詳細については、ヘッダー ガード スタイルを参照してください。
コード生成レポートでの潜在的なデータ型の問題の強調表示。false または true として指定します。詳細については、潜在的なデータ型の問題を強調表示を参照してください。
暗黙的な拡張によって生じる潜在的な問題をコード生成レポートで強調表示するかどうか。true または false として指定します。詳細については、暗黙的な拡張によって生じる潜在的な問題を強調表示を参照してください。
ループ制御関数の使用によって生じる潜在的な問題をコード生成レポートで強調表示するかどうか。true または false として指定します。詳細については、coder.loop 関数を使用する際の潜在的な問題を強調表示を参照してください。
行優先のレイアウトの効率性に関する潜在的な問題。true または false として指定します。詳細については、潜在的な行優先の問題を強調表示を参照してください。
初期化関数の生成。true または false として指定します。詳細については、初期化関数が必要を参照してください。
終了関数の生成。true または false として指定します。詳細については、終了関数が必要を参照してください。
生成コードにおけるインデント レベル単位の文字数。範囲 [2,8] の正の整数として指定します。詳細については、インデント サイズを参照してください。
生成コードにおける中かっこの配置スタイル。'K&R' または 'Allman' として指定します。詳細については、インデント スタイルを参照してください。
memset を使用した float と double のゼロの代入。true または false として指定します。詳細については、float と double を 0.0 に初期化するために memset を使用を参照してください。
MathWorks 関数間のインライン化を制御します。'Speed'、'Always'、'Readability'、または 'Never' として指定します。詳細については、MathWorks 定義の MATLAB 関数に対するインライン手法を参照してください。
ユーザー記述関数と MathWorks 関数の間のインライン化を制御します。'Speed'、'Always'、'Readability'、または 'Never' として指定します。詳細については、MathWorks 関数とユーザー関数の間の呼び出しに対するインライン手法を参照してください。
ユーザー記述関数間のインライン化を制御します。'Speed'、'Always'、'Readability'、または 'Never' として指定します。詳細については、ユーザー定義の MATLAB 関数に対するインライン手法を参照してください。
ターゲット ハードウェアの単一命令複数データ (SIMD) コードを生成するための命令セット。次のリストの値のいずれかとして指定します。
'Auto''SSE''SSE2''SSE4.1''AVX''AVX2''FMA''AVX512F''Neon v7''None'
詳細については、ターゲット ハードウェアの命令セット拡張を活用を参照してください。
InstructionSetExtensions 設定の SIMD 命令セットのオプション。InstructionSetExtensionsConfig オブジェクトとして指定します。オブジェクトのプロパティを使用して命令セットのオプションを指定します。このパラメーターは、命令セット Neon v7 にのみ適用されます。
例: 'InstructionSetExtensionsConfig.FMA = true'
融合積和演算に InstructionSetExtensions 設定の SIMD 命令を利用するかどうか。true または false として指定します。詳細については、FMA を参照してください。
生成される C/C++ コードに MISRA™ と AUTOSAR の既知の違反を抑制する注釈を付けます。false または true として指定します。詳細については、既知の MISRA 違反について正当化のコメントを生成を参照してください。
深層ニューラル ネットワーク (DNN) の大きな深層学習の定数をバイナリ データ ファイルに書き込むかどうか。'WriteOnlyDNNConstantsToDataFiles' または 'KeepInSourceFiles' として指定します。詳細については、大きな定数の生成を参照してください。
これを超えると、コード ジェネレーターが DNN の定数をバイナリ データ ファイルに書き込むしきい値。正の整数として指定します。詳細については、大きな定数のしきい値を参照してください。
コード生成レポートを自動的に開く。true または false として指定します。詳細については、レポート生成時の自動起動を参照してください。
for ループまたは parfor ループを自動的に展開するかどうかを決定する反復回数に対するしきい値。正の整数として指定します。詳細については、ループ展開のしきい値を参照してください。
生成コードの関数バナー内の MATLAB 関数のヘルプ テキスト。true または false として指定します。詳細については、MATLAB 関数のヘルプ テキストを参照してください。
生成コードに MATLAB ソース コードをコメントとして含める。true または false として指定します。詳細については、コメントとして MATLAB ソース コードを含めるを参照してください。
MATLAB ソース コードの行番号を生成されたコードにコメントとして含める。true または false として指定します。詳細については、MATLAB ソース コード コメントの行番号を参照してください。
生成される識別子の最大文字数。[31, 2048] の範囲の正の整数として指定します。詳細については、識別子の最大の長さを参照してください。
memcpy 最適化または memset 最適化の最小サイズ (バイト単位)。正の整数として指定します。詳細については、memcpy しきい値 (バイト) を参照してください。
マルチインスタンスの再呼び出し可能なコード。true または false として指定します。詳細については、再呼び出し可能なコードを生成を参照してください。
オブジェクト名。文字ベクトルとして指定します。
生成された C/C++ コードで並列 for ループを実行する CPU スレッドの最大数。正の整数として指定します。詳細については、CPU スレッドの最大数を参照してください。
リダクション演算の SIMD コードを生成し、リダクション演算を実行する for ループを並列化します。false または true として指定します。詳細については、リダクションの最適化を参照してください。
生成された C/C++ コードからビルドする出力。'LIB'、'DLL'、または 'EXE' として指定します。詳細については、ビルド タイプを参照してください。
生成コードにおけるかっこのレベル。'Nominal'、'Minimum'、または 'Maximum' として指定します。詳細については、かっこを参照してください。
エントリポイント関数に構造体を参照で渡します。true または false として指定します。詳細については、エントリポイント関数に構造体を参照で渡すを参照してください。
codegen を使用した MEX 関数の生成後にビルド プロセスをカスタマイズするコマンド。文字ベクトルとして指定します。詳細については、コード生成後のコマンドを参照してください。
N 次元インデックスを使用するコードの生成。false または true として指定します。詳細については、配列の次元を保持を参照してください。
生成コードの関数宣言での extern キーワードの保持。true または false として指定します。詳細については、関数の宣言で extern キーワードを保持するを参照してください。
R2024b 以降
生成されたコードがカスタム C/C+ コードから呼び出されるときにエントリポイントの入力データが変更されないように保護するかどうか。false または true として指定します。詳細については、エントリポイント関数の入力データを保持を参照してください。
未使用のクラス プロパティまたは構造体フィールドを生成される C/C++ コードで保持します。false または true として指定します。詳細については、未使用のフィールドとプロパティを保持を参照してください。
生成されたコード内に保持する変数名。'None'、'UserNames'、または 'All' として指定します。詳細については、変数名の保持を参照してください。
浮動小数点コードの検出。false または true として指定します。詳細については、純粋な整数のみをサポートを参照してください。
生成コードにおける MATLAB データ型のカスタム名を指定します。coder.ReplacementTypes オブジェクトとして指定します。組み込みデータ型の double、single、uint8、uint16、uint32、uint64、int8、int16、int32、int64、char、および logical についてカスタム名を指定できます。
依存関係:
EnableCustomReplacementTypesをtrueに設定すると、ReplacementTypesパラメーターが有効になります。データ型置換のカスタマイズ (Embedded Coder)を参照してください。
コード生成に関するコード生成レポートの情報を格納する変数の名前。文字ベクトルとして指定します。詳細については、レポート情報を変数にエクスポートを参照してください。
潜在的な相違点のレポート。true または false として指定します。詳細については、MATLAB との相違点をレポートを参照してください。
要件リンクを生成コードにコメントとして含めます。true または false として指定します。詳細については、コメントとしての要件の概要を参照してください。
コード ジェネレーターが関数または変数に使用してはならない名前。string 配列、文字ベクトルの cell 配列、または文字ベクトルとして指定します。詳細については、予約名を参照してください。
生成コードの行優先の配列レイアウト。false または true として指定します。詳細については、配列のレイアウトを参照してください。
生成されたエントリポイント関数の開始時に初期化関数を自動的に実行します。true または false として指定します。詳細については、初期化関数を自動的に実行を参照してください。
生成されたコードでのランタイム エラーの検出とレポート。false または true として指定します。詳細については、実行時エラー チェックの生成を参照してください。
整数オーバーフローのサポート。true または false として指定します。詳細については、整数オーバーフローで飽和を参照してください。
ソフトウェアインザループ (SIL) またはプロセッサインザループ (PIL) 実行時の生成コードのデバッグ。false または true として指定します。詳細については、SIL または PIL でソースレベル デバッグを有効にするを参照してください。
ソフトウェアインザループ (SIL) またはプロセッサインザループ (PIL) 実行の定数入力チェック モード。true または false として指定します。詳細については、定数入力をチェックを参照してください。
ソフトウェアインザループ (SIL) またはプロセッサインザループ (PIL) 実行のグローバルなデータ同期モード。true または false として指定します。詳細については、グローバル データを同期を参照してください。
ソフトウェアインザループ (SIL) またはプロセッサインザループ (PIL) 実行時の通信の I/O 情報の表示。'off' または 'on' として指定します。詳細については、SIL/PIL の詳細を参照してください。
アプリケーションごとの最大スタック使用量 (バイト単位)。正の整数として指定します。詳細については、最大スタック使用量を参照してください。
非有限値のサポート。true または false として指定します。詳細については、非有限数のサポートを参照してください。
生成されたコードで使用する言語。'C' または 'C++' として指定します。詳細については、言語を参照してください。
生成コードに使用する言語標準。次のいずれかのオプションとして指定します。
'Auto''C89/C90 (ANSI)''C99 (ISO)''C++03 (ISO)''C++11 (ISO)''C++14 (ISO)''C++17 (ISO)''C++20 (ISO)'
詳細については、言語標準を参照してください。
C/C++ ライブラリまたは実行可能プログラムをビルドするために使用するツールチェーン。文字ベクトルとして指定します。詳細については、ツールチェーンを参照してください。
MATLAB コード内の高速フーリエ変換 (FFT) 関数用に MATLAB に付属の FFTW ライブラリを使用するコードを生成します。false または true として指定します。詳細については、組み込み FFTW ライブラリの使用を参照してください。
R2024b 以降
生成されたコードでプリコンパイルされたライブラリを使用するかどうか。'Prefer' または 'Avoid' として指定します。詳細については、プリコンパイルされたライブラリの使用を参照してください。
コード生成の進行状況表示。次の表のいずれかの値として指定します。
| 値 | 説明 |
|---|---|
false | この値が既定値です。 コード ジェネレーターには、コード生成の進行状況が表示されません。 |
true | コード ジェネレーターには、コード生成の段階やコンパイラ出力を含む、コード生成の進行状況が表示されます。 |
メモ
Verbose 構成オブジェクト プロパティは将来のリリースで削除される予定です。コード生成の進行状況を確認するには、Verbosity プロパティを使用してください。
MATLAB コマンド ラインでのコード生成の進行状況の表示。'Info'、'Silent'、または 'Verbose' として指定します。詳細については、詳細なコンパイラ出力を表示を参照してください。
コード検証モード。'None'、'SIL'、または 'PIL' として指定します。詳細については、検証モードを参照してください。
例
コードを生成できる MATLAB 関数を記述します。この例では、入力の合計を返す関数 myadd を使用します。
function c = myadd(a,b) c = a + b; end
スタンドアロン C/C++ コード (スタティック ライブラリ、ダイナミック リンク ライブラリ、実行可能プログラム) 生成用の構成オブジェクトを作成します。たとえば、スタティック ライブラリ生成用の構成オブジェクトを作成します。
cfg = coder.config('lib');Embedded Coder がインストールされると、coder.config は coder.EmbeddedCodeConfig オブジェクトを作成します。
既定値を使用しないプロパティの値を変更します。たとえば、生成されたコードのコメント スタイルを // で始まる単一行のコメントに変更します。
cfg.CommentStyle = 'Single-line';
CommentStyle プロパティは、Embedded Coder 構成オブジェクトでのみ使用できます。
codegen を使用してコードを生成します。-config オプションを使用して構成オブジェクトを codegen に渡します。入力引数が double 型のスカラーであることを指定します。
codegen myadd -config cfg -args {1 1} -report
代替機能
ビルド タイプ 'LIB'、'DLL'、または 'EXE' の既定の構成パラメーターを使用するには、codegen のオプション -config:lib、-config:dll、-config:exe をそれぞれ使用します。これで、構成オブジェクトを作成して codegen に渡す必要はなくなります。
バージョン履歴
R2011a で導入InlineBetweenUserAndMathWorksFunctions コード構成オプションの既定の設定が 'Readability' になりました。
コード ジェネレーターは、C++03 (ISO) および C++11 (ISO) に加えて、C++14 (ISO)、C++17 (ISO)、および C++20 (ISO) と互換性のある C++ コードを生成できます。
新しいプロパティ CodeProfilingCodeMetrics により、ハードウェアのパフォーマンス監視ユニット (PMU) からのメトリクスを使用して、生成されたコードをプロファイリングできます。
新しいプロパティ UsePrecompiledLibraries により、生成されたコードがプラットフォーム固有のプリコンパイルされたライブラリを使用する範囲を指定できます。
新しいプロパティ PreserveInputData により、生成されたコードがカスタム C/C++ コードから呼び出されるときにエントリポイントの入力データが変更されないように保護するコードを生成できます。
引用符を使用して、CustomInclude、CustomLibrary、および CustomSource コード構成パラメーターに対して空白を含む単一のファイル名またはパス (例: '"folder1\folder2\sp ace\fun3.c"') を指定しようとすると、コード ジェネレーターでエラーが生成されます。
コード構成オブジェクトで区切り記号を含む文字ベクトルまたは string スカラーを使用して複数のファイル名、パス、または予約名を指定すると、エラーが発生します。代わりに string 配列または文字ベクトルの cell 配列を使用してください。たとえば、複数のフォルダー名をインクルードするには、CustomInclude で string 配列を cfg.CustomInclude = ["C:\Project","C:\Custom Files"]; として使用するか、文字ベクトルの cell 配列を cfg.CustomInclude = {'C:\Project','C:\Custom Files'}; として使用して、生成コードのコンパイル用のパスをインクルードできます。
引用符を使用して CustomInclude、CustomLibrary、および CustomSource コード構成プロパティに対して空白を含む単一のファイル名またはパス (たとえば、'"sp ace/fun3.c"') を指定すると、警告が生成されます。この用法は、将来のリリースで削除される予定です。
将来のリリースでは、DynamicMemoryAllocation プロパティは削除される予定です。
可変サイズの配列に対してメモリを動的に割り当てるには、EnableDynamicMemoryAllocation プロパティを使用してください。動的メモリ割り当てしきい値を構成するには、DynamicMemoryAllocationThreshold プロパティを使用します。
コード構成オブジェクトでの区切り記号を含む文字ベクトルまたは string スカラーを使用した複数のファイル名、パス、予約名の指定は将来のリリースで削除される予定であり、使用すると警告が発生します。代わりに string 配列または文字ベクトルの cell 配列を使用してください。たとえば、複数のフォルダー名をインクルードするには、CustomInclude で string 配列を cfg.CustomInclude = ["C:\Project","C:\Custom Files"]; として使用するか、文字ベクトルの cell 配列を cfg.CustomInclude = {'C:\Project','C:\Custom Files'}; として使用して、生成コードのコンパイル用のパスをインクルードできます。
将来のリリースでは、コード構成オブジェクトでの区切り記号を含む文字ベクトルまたは string スカラーを使用した複数のファイル名、パス、予約名の指定は削除される予定です。代わりに string 配列または文字ベクトルの cell 配列を使用してください。たとえば、複数のフォルダー名をインクルードするには、CustomInclude で string 配列を cfg.CustomInclude = ["C:\Project","C:\Custom Files"]; として使用するか、文字ベクトルの cell 配列を cfg.CustomInclude = {'C:\Project','C:\Custom Files'}; として使用して、生成コードのコンパイル用のパスをインクルードできます。
将来のリリースでは、Verbose プロパティは削除される予定です。
コード生成の進行状況表示を構成するには、Verbosity プロパティを使用してください。
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- 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)