このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。
coder.EmbeddedCodeConfig
Embedded Coder で MATLAB コードから C/C++ コードを生成するための構成パラメーター
説明
coder.EmbeddedCodeConfig
オブジェクトには、Embedded Coder® でスタティック ライブラリ、ダイナミック リンク ライブラリまたは実行可能プログラムを生成するために codegen
が使用する構成パラメーターが含まれます。-config
オプションを使用して、オブジェクトを関数 codegen
に渡します。
作成
関数 coder.config
を使用して coder.EmbeddedCodeConfig
オブジェクトを作成します。
coder.EmbeddedCodeConfig
オブジェクトの作成後、そのプロパティをコマンド ラインからプログラムで変更するか、構成パラメーター ダイアログ ボックスを使用して対話的に変更できます。コマンド ライン ワークフローで対話的に構成パラメーターを指定を参照してください。
プロパティ
BuildConfiguration
— コンパイラの最適化またはツールチェーンのデバッグ設定
'Faster Runs'
(既定値) | 'Faster Builds'
| 'Debug'
| 'Specify'
コンパイラの最適化またはツールチェーンのデバッグ設定。次の表のいずれかの値として指定します。
値 | 説明 |
---|---|
'Faster Builds' | ビルドを最適化して、ビルド時間を短縮します。 |
'Faster Runs' | ビルドを最適化して実行可能ファイルの実行を迅速化します。 |
'Debug' | ビルドをデバッグ用に最適化します。 |
'Specify' | 選択したツールチェーン内のツールの設定をカスタマイズするには |
Toolchain
プロパティを使用可能な CMake ツールチェーン定義のいずれかに設定する場合は、このプロパティの使用できる値は 'Release'
、'Debug'
、'RelWithDebInfo'
、'MinSizeRel'
、および 'Specify'
です。Configure CMake Build Processを参照してください。
CacheDynamicArrayDataPointer
— 動的な配列の最適化
true
(既定値) | false
動的な配列の最適化。次の表のいずれかの値として指定します。
値 | 説明 |
---|---|
true | この値が既定値です。 コード ジェネレーターで動的な配列のアクセスを最適化して、生成された C コードの実行時間を改善します。 |
false | コード ジェネレーターで動的な配列のアクセスを最適化しません。 |
動的な配列のアクセスの最適化を参照してください。
CastingMode
— データ型のキャスト レベル
'Nominal'
(既定値) | 'Standards'
| 'Explicit'
生成された C/C++ コードの変数に対するデータ型のキャスト レベル。次の表のいずれかの値として指定します。
値 | 説明 |
---|---|
'Nominal' | この値が既定値です。 既定の C コンパイラのデータ型のキャストを使用する C/C++ コードを生成します。次に例を示します。 short addone(short x) { int i; i = x + 1; if (i > 32767) { i = 32767; } return (short)i; } |
'Standards' | データ型をキャストして MISRA™ 標準に準拠する C/C++ コードを生成します。次に例を示します。 short addone(short x) { int i; i = (int)x + (int)1; if (i > (int)32767) { i = (int)32767; } return (short)i; } |
'Explicit' | データ型の値を明示的にキャストする C/C++ コードを生成します。次に例を示します。 short addone(short x) { int i; i = (int)x + 1; if (i > 32767) { i = 32767; } return (short)i; } |
Control Data Type Casts in Generated Code (Embedded Coder)を参照してください。
ClangFormatFile
— clang-format
ファイルの生成の制御
'Generate'
(既定値) | 'Existing'
このオプションを設定して、生成コードの書式設定用の clang-format
ファイルを生成するか既存のものを使用するかを指定します。書式設定ファイルの選択方法を選択します。次の表のいずれかの値として指定します。
値 | 説明 |
---|---|
'Generate' | この値が既定値です。 構成設定に基づいてビルド用の |
'Existing' | 選択した コード ジェネレーターは、コード生成フォルダーで既存の |
詳細については、https://clang.llvm.org/docs/ClangFormatStyleOptions.htmlを参照してください。
CodeCoverage
— C/C++ コード カバレッジの解析
false
(既定値) | true
ソフトウェアインザループ (SIL) またはプロセッサインザループ (PIL) 実行時の生成された C/C++ コードとカスタムの C/C++ の両方のカバレッジ解析。次の表のいずれかの値として指定します。
値 | 説明 |
---|---|
false | この値が既定値です。 SIL または PIL 実行時のコード カバレッジ解析を無効にします。 |
true | SIL または PIL アプリケーションでカバレッジ解析用の C/C++ コードをインストルメント化します。 |
この名前と値の引数を使用するには、MATLAB® Test™ のライセンスが必要です。
データ型: logical
CodeExecutionProfiling
— SIL または PIL 実行時の実行時間プロファイリング
false
(既定値) | true
ソフトウェアインザループ (SIL) またはプロセッサインザループ (PIL) 実行時のエントリポイント関数の実行時間プロファイリング。次の表のいずれかの値として指定します。
値 | 説明 |
---|---|
false | この値が既定値です。 SIL または PIL 実行時の実行時間プロファイリングを無効にします。 |
true | SIL または PIL アプリケーションで計測コードから取得したデータを使用して、エントリポイント関数の実行時間を計算します。生成コードの呼び出しツリーおよび対応する実行時間を確認するには、コード プロファイル アナライザー (Embedded Coder)を使用します。 |
SIL および PIL の実行時間プロファイリング (Embedded Coder)および実行時間プロファイルの生成 (Embedded Coder)を参照してください。
CodeFormattingTool
— 生成コードの書式設定ツール
'Auto'
(既定値) | 'Clang-format'
| 'MathWorks'
生成コードのコード形式オプション。次の表のいずれかの値として指定します。
値 | 説明 |
---|---|
'Clang-format' | コード ジェネレーターは |
'Auto' | 内部のヒューリスティックな方法を使用して、生成コードを 生成コードが |
'MathWorks' | コード ジェネレーターを MathWorks の書式設定ツールに戻します。 |
CodeProfilingInstrumentation
— SIL または PIL 実行時のエントリポイント関数内で呼び出される関数の実行時間プロファイリング
false
(既定値) | true
ソフトウェアインザループ (SIL) またはプロセッサインザループ (PIL) 実行時のエントリポイント関数内で呼び出される関数の実行時間プロファイリング。次の表のいずれかの値として指定します。
値 | 説明 |
---|---|
false | この値が既定値です。 SIL または PIL 実行時のエントリポイント関数内で呼び出される関数の実行時間プロファイリングを無効にします。 |
true | SIL または PIL アプリケーションで計測コードから取得したデータを使用して、エントリポイント関数内で呼び出される関数の実行時間を計算します。生成コードの呼び出しツリーおよび対応する実行時間を確認するには、コード プロファイル アナライザー (Embedded Coder)を使用します。 |
依存関係: CodeExecutionProfiling
により、このパラメーターが有効になります。
SIL および PIL の実行時間プロファイリング (Embedded Coder)および実行時間プロファイルの生成 (Embedded Coder)を参照してください。
CodeProfilingSaveOptions
— 実行時間の測定の収集と格納
"AllData"
(既定値) | "SummaryOnly"
| "MetricsOnly"
実行時間の測定の収集と格納に関するオプション。次の表のいずれかの値として指定します。
値 | 説明 |
---|---|
"AllData" | この値が既定値です。 実行の進行中にプロファイリングの測定と解析のデータを収集し、ターゲット デバイスから開発用コンピューターに直ちにアップロードします。実行の終了時に、すべてのデータをベース ワークスペースに保存します。 |
"SummaryOnly" | 実行の進行中にレポートに必要な実行時メトリクスのみを評価し、メトリクスをターゲット デバイスから直ちにアップロードします。実行の終了時に、評価されたメトリクスをベース ワークスペースに保存します。 |
"MetricsOnly" | 実行の進行中にプロファイリング データを処理し、特定のメトリクスをターゲット デバイスに格納します。実行の終了時に、格納されたメトリクスをターゲット デバイスからアップロードします。 |
データ型: char
| string
CodeStackProfiling
— SIL または PIL 実行時のスタック使用量プロファイリング
false
(既定値) | true
ソフトウェアインザループ (SIL) またはプロセッサインザループ (PIL) 実行時のエントリポイント関数のスタック使用量プロファイリング。次の表のいずれかの値として指定します。
値 | 説明 |
---|---|
false | この値が既定値です。 SIL または PIL 実行時のスタック使用量プロファイリングを無効にします。 |
true | SIL または PIL アプリケーションで計測コードから取得したデータを使用して、生成コード内の関数のスタック使用量を計算します。エントリポイント関数および内部関数のスタック使用量の値を確認するには、コード プロファイル アナライザー (Embedded Coder)を使用します。 |
Stack Usage Profiling for Code Generated From MATLAB Code (Embedded Coder)を参照してください。
CodeTemplate
— ファイル バナーおよび関数バナーのコード生成テンプレート
[]
(既定値) | coder.MATLABCodeTemplate
オブジェクト
生成コード内のファイル バナーおよび関数バナーのコード生成テンプレート。既定では、CodeTemplate
は空で、コード ジェネレーターは既定のバナーを生成します。カスタムのバナーを生成するには、CodeTemplate
を、コード生成テンプレート (CGT) ファイルから作成された coder.MATLABCodeTemplate
オブジェクトに設定します。Generate Custom File and Function Banners for C/C++ Code (Embedded Coder)を参照してください。
CodeReplacementLibrary
— 生成コードのコード置換ライブラリ
文字ベクトル
生成コードのコード置換ライブラリ。次の表のいずれかの値として指定します。
値 | 説明 |
---|---|
'None' | この値が既定値です。 コード置換ライブラリを使用しません。 |
名前付きのコード置換ライブラリ | 特定のプラットフォーム、コンパイラまたは標準のコード置換ライブラリへの呼び出しを生成します。名前付きライブラリのリストは以下に応じて変わります。
|
互換性のあるライブラリは以下のパラメーターに依存します。
TargetLang
TargetLangStandard
ハードウェア実行構成オブジェクトの
ProdHWDeviceType
。
Embedded Coder はより多くのライブラリを提供し、カスタム コード置換ライブラリの作成と使用を可能にします。
MATLAB Coder™ は、選択されたコード置換ライブラリが必要とする最低限のヘッダー ファイル用 #include
ステートメントを生成します。
このパラメーターを設定する前に、使用するライブラリがコンパイラでサポートされていることを確認してください。コンパイラでサポートされていないパラメーター値を選択した場合、コンパイラ エラーが発生することがあります。
メモ
MATLAB Coder ソフトウェアは TLC コールバックをサポートしません。
ColumnLimit
— 生成されたコードの改行の前の最大列数
80 (既定値) | 正の整数
生成されたコードの改行の前の最大列数。[45, 65536] の範囲の正の整数として指定します。
改行の配置に関するその他のルールが、指定する列数の制限より優先される可能性があります。
CommentStyle
— 生成コードのコメント スタイル
'Auto'
(既定値) | 'Single-line'
| 'Multi-line'
生成コードのコメント スタイル。次の表のいずれかの値として指定します。
値 | 説明 |
---|---|
'Auto' | C では複数行のコメントを生成します。C++ では単一行のコメントを生成します。 |
'Single-line' | // で始まる単一行のコメントを生成します。 |
'Multi-line' | /* と */ で区切られた単一行または複数行のコメントを生成します。 |
C コードの生成では、使用しているコンパイラが単一行スタイルをサポートしている場合のみ単一行のコメント スタイルを指定してください。
依存関係: GenerateComments
により、このパラメーターが有効になります。
Specify Comment Style for C/C++ Code (Embedded Coder)を参照してください。
CompileTimeRecursionLimit
— コンパイル時の再帰による関数の特殊化の最大数
50 (既定値) | 正の整数
コンパイル時の再帰による関数の特殊化の最大数。正の整数として指定します。MATLAB コード内で再帰が許可されないようにするには、CompileTimeRecursionLimit
を 0 に設定します。コンパイル時の再帰限界値の既定値は、このタイプの再帰を必要とするほとんどの再帰関数で十分に大きい値です。コンパイル時の再帰限界値が原因でコード生成に失敗する場合にコンパイル時の再帰が必要なときは、限界値を高くします。あるいは、コード ジェネレーターが実行時の再帰を使用するように、MATLAB コードを変更します。コンパイル時の再帰限界値に達するを参照してください。
ConstantFoldingTimeout
— 定数畳み込みによって実行される命令の最大数
40000 (既定値) | 正の整数
定数畳み込みが実行する命令の最大数。状況によっては、コード生成で特定の命令を定数にする必要があります。これらの命令で定数畳み込みが行われる前に定数畳み込みが停止した場合、コードの生成は失敗します。この場合は、ConstantFoldingTimeout
の値を増やします。
生成コードの MATLAB Coder の最適化を参照してください。
ConvertIfToSwitch
— if-elseif-else
パターンの switch-case
ステートメントへの変換
false
(既定値) | true
生成コードでの if-elseif-else
パターンの switch-case
ステートメントへの変換。次の表のいずれかの値として指定します。
値 | 説明 |
---|---|
false | この値が既定値です。 コード ジェネレーターは |
true | コード ジェネレーターは if-elseif-else パターンの switch-case ステートメントへの変換を試みます。コード ジェネレーターは、潜在的なケース式がスカラーの整数値である場合にのみ switch-case ステートメントを生成します。 |
C コードのスタイルの制御 (Embedded Coder)を参照してください。
CppGenerateEnumClass
— MATLAB 列挙の C++11 列挙型クラスの生成
true
(既定値) | false
列挙型クラスまたは通常の C の列挙型を含む C++11 コードを生成するかどうか。次の表のいずれかの値として指定します。
値 | 説明 |
---|---|
true | この値が既定値です。 コード ジェネレーターは、生成された C++11 コードの MATLAB 列挙に対応する列挙型クラスを生成します。列挙型のコードの生成を参照してください。 |
false | コード ジェネレーターは、生成された C++11 コードの MATLAB 列挙に対応する通常の C の列挙型を生成します。 |
依存関係:
TargetLang
を'C++'
に設定すると、このパラメーターが有効になります。
CppInterfaceClassName
— 生成された C++ コードのインターフェイス クラス名
''
(既定値) | 文字ベクトル
CppInterfaceStyle
を 'Methods'
に設定して C++ コードを生成する際のインターフェイス クラスの名前。この場合、MATLAB エントリポイント関数の生成コードは、CppInterfaceClassName
で指定された名前をもつ C++ クラスに含まれているメソッドで構成されています。CppInterfaceStyle
を 'Functions'
に設定した場合、このプロパティの効果はありません。
クラス インターフェイスをもつ C++ コードの生成を参照してください。
CppInterfaceStyle
— 生成された C++ コードのインターフェイス スタイル
'Functions'
(既定値) | 'Methods'
コードの生成元である MATLAB エントリポイント関数の生成された C++ コードに対するインターフェイスのスタイル。既定では、エントリポイント関数は C++ 関数になります。'Methods'
を選択した場合、エントリポイント関数は C++ クラスのメソッドになります。プロパティ CppInterfaceClassName
を使用してクラスの名前を指定します。
クラス インターフェイスをもつ C++ コードの生成を参照してください。
依存関係:
TargetLang
を'C++'
に設定すると、このパラメーターが有効になります。
CppPackagesToNamespaces
— MATLAB パッケージに対応する C++ 名前空間の生成
true
(既定値) | false
MATLAB コード内のパッケージに対応する C++ 名前空間を生成するかどうか。次の表のいずれかの値として指定します。
値 | 説明 |
---|---|
true | この値が既定値です。 コード ジェネレーターは、MATLAB コード内のパッケージに対応する C++ 名前空間を生成します。生成された C++ コードの名前空間への整理を参照してください。 |
false | コード ジェネレーターは、MATLAB コード内のパッケージに対応する C++ 名前空間を生成しません。 |
依存関係:
TargetLang
を'C++'
に設定すると、このパラメーターが有効になります。
データ型: logical
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
CustomBLASCallback
— BLAS コールバック クラス
' ' (既定値) | 文字ベクトル
MATLAB コードの特定の低水準なベクトルおよび行列演算に対して生成されたコードの BLAS ライブラリ呼び出し用コールバック クラス。文字ベクトルとして指定します。
BLAS コールバック クラスを特定の低水準なベクトルと行列関数で指定する場合、コード ジェネレーターは BLAS ライブラリへの CBLAS C インターフェイスを使用して、BLAS 呼び出しを生成します。コールバック クラスは、CBLAS ヘッダー ファイルの名前、CBLAS データ型の名前、および BLAS ライブラリへのリンクに必要な情報を提供します。このパラメーターが空の場合、コード ジェネレーターは BLAS 呼び出しの代わりに行列関数のコードを生成します。
CustomFileNameStr
— ファイル名のカスタマイズ マクロ
'$N$M' (既定値) | 文字ベクトル
追加の文字とトークンを使用して生成ファイル名のカスタマイズを指定するマクロ。詳細については、Customize C/C++ File Names Generated from MATLAB Code (Embedded Coder)を参照してください。
CustomFFTCallback
— FFTW ライブラリの呼び出しのコールバック クラス
' ' (既定値) | 文字ベクトル
MATLAB コードで関数 FFT に対して生成されたコードの FFTW ライブラリ呼び出しのコールバック クラス。文字ベクトルとして指定します。
FFT 関数の実行速度を改善するために、コード ジェネレーターは、コールバック クラスで指定する FFTW ライブラリの呼び出しを生成します。このパラメーターが空である場合、コード ジェネレーターは FFTW ライブラリを呼び出す代わりに、FFT 関数に対して独自のアルゴリズムを使用します。
生成されたスタンドアロン コードでの FFTW ライブラリ呼び出しを使用した高速フーリエ変換の高速化を参照してください。
CustomHeaderCode
— 生成された C/C++ ヘッダー ファイルの最上部に表示されるカスタム コード
' ' (既定値) | 文字ベクトル
MATLAB コードから生成された各 C/C++ ヘッダー ファイル (rtwtypes.h
および rtwhalf.h
を除く) の最上部近くに表示されるカスタム コード。文字ベクトルとして指定します。
CustomInclude
— 生成コードのコンパイル用にインクルード パスに追加するインクルード フォルダー
' ' (既定値) | string 配列 | 文字ベクトルの cell 配列 | 文字ベクトル
生成コードのコンパイル時にインクルード パスに追加するインクルード フォルダー。インクルード フォルダーのリストを string 配列、文字ベクトルの cell 配列、または文字ベクトルとして指定します。
複数のフォルダーの名前。次の表のいずれかの値として指定します。
値 | 説明 |
---|---|
string 配列 |
|
文字ベクトルの cell 配列 |
|
文字ベクトル |
メモ コード構成オブジェクトでの文字ベクトルを使用した複数のエントリの指定は将来のリリースで削除される予定であり、使用すると警告が発生します。代わりに string 配列または文字ベクトルの cell 配列を使用してください。詳細については、互換性についての考慮事項を参照してください。 |
CustomInitializer
— 生成された初期化関数に含めるカスタム コード
' ' (既定値) | 文字ベクトル
生成された初期化関数に含めるカスタム コード。文字ベクトルとして指定します。
CustomLAPACKCallback
— LAPACK コールバック クラス
' ' (既定値) | 文字ベクトル
MATLAB コードの特定の線形代数に対して生成されたコードの LAPACK ライブラリ呼び出しのコールバック クラス。文字ベクトルとして指定します。
LAPACK コールバック クラスを指定すると、特定の線形代数関数では、コード ジェネレーターが LAPACK ライブラリへの LAPACKE C インターフェイスを使用して LAPACK 呼び出しを生成します。このコールバック クラスは、LAPACKE ヘッダー ファイルの名前と LAPACK ライブラリへのリンクに必要な情報を提供します。このパラメーターが空の場合、コード ジェネレーターは LAPACK 呼び出しではなく線形代数関数のコードを生成します。
CustomLibrary
— 生成コードにリンクするスタティック ライブラリ ファイル
' ' (既定値) | string 配列 | 文字ベクトルの cell 配列 | 文字ベクトル
生成コードにリンクするスタティック ライブラリ ファイル。string 配列、文字ベクトルの cell 配列、または文字ベクトルとして指定します。
複数のスタティック ライブラリ ファイルの名前。次の表のいずれかの値として指定します。
値 | 説明 |
---|---|
string 配列 |
|
文字ベクトルの cell 配列 |
|
文字ベクトル |
メモ コード構成オブジェクトでの文字ベクトルを使用した複数のエントリの指定は将来のリリースで削除される予定であり、使用すると警告が発生します。代わりに string 配列または文字ベクトルの cell 配列を使用してください。詳細については、互換性についての考慮事項を参照してください。 |
CustomSource
— コンパイルして生成コードにリンクするソース ファイル
' ' (既定値) | string 配列 | 文字ベクトルの cell 配列 | 文字ベクトル
コンパイルして生成コードにリンクするソース ファイル。string 配列、文字ベクトルの cell 配列、または文字ベクトルとして指定します。
ビルド プロセスは最初に現在のフォルダー内でソース ファイルを探してから、CustomInclude
に指定したインクルード フォルダー内で探します。検索パス上の複数のフォルダーに同じ名前のソース ファイルがある場合、指定したファイルとは別のファイルがビルド プロセスで使用される可能性があります。
たとえば、foo.cpp
をソース ファイルとして指定するとします。foo.c
と foo.cpp
の両方が検索パスにある場合、ビルド プロセスが foo.c
と foo.cpp
のどちらを使用するか断定できません。
複数のソース ファイルの名前。次の表のいずれかの値として指定します。
値 | 説明 |
---|---|
string 配列 |
|
文字ベクトルの cell 配列 |
|
文字ベクトル |
メモ コード構成オブジェクトでの文字ベクトルを使用した複数のエントリの指定は将来のリリースで削除される予定であり、使用すると警告が発生します。代わりに string 配列または文字ベクトルの cell 配列を使用してください。詳細については、互換性についての考慮事項を参照してください。 |
CustomSourceCode
— 生成された .c
または .cpp
ファイルの最上部付近に表示されるコード
' ' (既定値) | 文字ベクトル
生成された各 .c
または .cpp
ファイル (rtwhalf.c
または rtwhalf.cpp
を除く) の最上部付近、関数の外側にコードが表示されるよう指定します。文字ベクトルとしてコードを指定します。
C 静的関数の定義は指定しないでください。
CustomSymbolStrEMXArray
— EMX 配列型のカスタム識別子の形式
'emxArray_$M$N'
(既定値) | 文字ベクトル
EMX 配列型 (組み込み可能な mxArray 型) のカスタム識別子の形式。文字ベクトルとして指定します。この形式を指定するには、Customize Generated Identifiers (Embedded Coder)を参照してください。
CustomSymbolStrEMXArrayFcn
— EMX 配列ユーティリティ関数のカスタム識別子の形式
'emx$M$N'
(既定値) | 文字ベクトル
生成された EMX 配列 (組み込み可能な mxArray) ユーティリティ関数のカスタム識別子の形式。文字ベクトルとして指定します。この形式を指定するには、Customize Generated Identifiers (Embedded Coder)を参照してください。
CustomSymbolStrFcn
— ローカル関数識別子のカスタム識別子の形式
'm_$M$N'
(既定値) | 文字ベクトル
生成されたローカル関数識別子のカスタム識別子の形式。文字ベクトルとして指定します。この形式を指定するには、Customize Generated Identifiers (Embedded Coder)を参照してください。
CustomSymbolStrField
— グローバルなタイプの識別子のフィールド名に対するカスタム識別子の形式
'$M$N'
(既定値) | 文字ベクトル
グローバルなタイプの識別子における生成フィールド名に対するカスタム識別子の形式。文字ベクトルとして指定します。この形式を指定するには、Customize Generated Identifiers (Embedded Coder)を参照してください。
CustomSymbolStrGlobalVar
— グローバル変数識別子のカスタム識別子の形式
'$M$N'
(既定値) | 文字ベクトル
生成されたグローバル変数識別子のカスタム識別子の形式。文字ベクトルとして指定します。この形式を指定するには、Customize Generated Identifiers (Embedded Coder)を参照してください。
CustomSymbolStrMacro
— 定数マクロ識別子のカスタム識別子の形式
'$M$N'
(既定値) | 文字ベクトル
生成された定数マクロ識別子のカスタム識別子の形式。文字ベクトルとして指定します。この形式を指定するには、Customize Generated Identifiers (Embedded Coder)を参照してください。
CustomSymbolStrTmpVar
— ローカルな一時変数識別子のカスタム識別子の形式
'$M$N'
(既定値) | 文字ベクトル
生成されたローカルな一時変数識別子のカスタム識別子の形式。文字ベクトルとして指定します。この形式を指定するには、Customize Generated Identifiers (Embedded Coder)を参照してください。
CustomSymbolStrType
— グローバルなタイプの識別子のカスタム識別子の形式
'$M$N'
(既定値) | 文字ベクトル
生成されたグローバルなタイプの識別子のカスタム識別子の形式。文字ベクトルとして指定します。この形式を指定するには、Customize Generated Identifiers (Embedded Coder)を参照してください。
CustomTerminator
— 生成された終了関数に表示されるコード
' ' (既定値) | 文字ベクトル
生成された終了関数に表示されるコード。文字ベクトルとして指定します。
CustomToolchainOptions
— 選択したツールチェーンのツールに対するカスタム設定
cell 配列
選択したツールチェーンのツールに対するカスタム設定。cell 配列として指定します。
依存関係:
Toolchain
プロパティは、cell 配列に表示されるツールとオプションを決定する。BuildConfiguration
プロパティをSpecify
に設定すると、CustomToolchainOptions
が有効化される。
最初に、現在の設定を取得します。次に例を示します。
cfg = coder.config('lib'); cfg.BuildConfiguration='Specify'; opt = cfg.CustomToolchainOptions
次に、opt
の値を編集します。
これらの値はツールチェーン定義ファイルおよびサードパーティ コンパイラ オプションから派生します。カスタム ツールチェーンの登録を参照してください。
DataTypeReplacement
— 生成コードのデータ型置換
'CBuiltIn'
| 'CoderTypeDefs'
生成コードのデータ型置換。次の表のいずれかの値として指定します。
値 | 説明 |
---|---|
'CBuiltIn' | この値が既定値です。 コード ジェネレーターは組み込みの C データ型を使用します。 |
'CoderTypeDefs' | コード ジェネレーターは rtwtypes.h から事前定義されたデータ型を使用します。 |
DeepLearningConfig
— 深層学習コード生成の構成オブジェクト
coder.MklDNNConfig
オブジェクト | coder.ARMNEONConfig
オブジェクト | coder.CuDNNConfig
オブジェクト | coder.TensorRTConfig
オブジェクト
深層学習ネットワークのコード生成の構成オブジェクト。次の表のいずれかのオブジェクトとして指定します。
オブジェクト | 必要 | 説明 |
---|---|---|
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++
に設定されます。
Description
— オブジェクトの説明
'class CodeConfig: C code generation configuration.'
(既定値) | 文字ベクトル
オブジェクトの説明。文字ベクトルとして指定します。
DynamicMemoryAllocation
— 動的メモリ割り当てモード
'Threshold'
(既定値) | 'AllVariableSizeArrays'
| 'Off'
動的メモリ割り当てモード。次の表のいずれかの値として指定します。
値 | 説明 |
---|---|
'Threshold' | この値が既定値です。 コード ジェネレーターは、サイズ (バイト単位) が |
'AllVariableSizeArrays' | コード ジェネレーターは、ヒープ上ですべての可変サイズ配列のメモリを動的に割り当てます。 |
'Off' | コード ジェネレーターは、スタック上で可変サイズ配列のメモリを静的に割り当てます。 |
制限のない可変サイズの配列では動的なメモリ割り当てが必要です。
依存関係:
EnableVariableSizing
により、このパラメーターが有効になります。この
DynamicMemoryAllocation
を'Threshold'
に設定すると、DynamicMemoryAllocationThreshold
パラメーターが有効になります。
可変サイズ データのためのコード生成を参照してください。
メモ
DynamicMemoryAllocation
構成オプションは将来のリリースで削除される予定です。可変サイズの配列に対してメモリを動的に割り当てるには、EnableDynamicMemoryAllocation
オプションを使用してください。しきい値を設定するには、DynamicMemoryAllocationThreshold
オプションを使用します。
DynamicMemoryAllocationForFixedSizeArrays
— 固定サイズの配列に対する動的メモリ割り当て
false
(既定値) | true
固定サイズの配列に対する動的メモリ割り当て。次の表のいずれかの値として指定します。
値 | 説明 |
---|---|
true | コード ジェネレーターは、サイズ (バイト単位) が |
false | この値が既定値です。 コード ジェネレーターは、スタック上で固定サイズ配列のメモリを静的に割り当てます。 |
依存関係:
このオプションは、
EnableDynamicMemoryAllocation
をtrue
に設定すると有効になります。
Control Dynamic Memory Allocation for Fixed-Size Arraysを参照してください。
DynamicMemoryAllocationInterface
— 生成された関数インターフェイスにおける動的に割り当てられた配列
'Auto'
(既定値) | 'C'
| 'C++'
生成された C/C++ 関数のインターフェイスにおける動的に割り当てられた配列の実装。次の表のいずれかの値として指定します。
値 | 説明 |
---|---|
'Auto' | これは既定値です。 |
'C' | 生成されたコードは、C スタイルの |
'C++' |
生成されたコードは、 |
GPU Coder を使用する場合、C スタイルの emxArray
データ構造体がコード ジェネレーターで常に使用されます。
依存関係:
EnableVariableSizing
により、このパラメーターが有効になります。
DynamicMemoryAllocationThreshold
— 可変サイズの配列の動的なメモリ割り当てのサイズしきい値
65536
(既定値) | 正の整数
固定サイズの配列と可変サイズの配列の動的なメモリ割り当てのサイズしきい値。正の整数として指定します。コード ジェネレーターでは、しきい値以上のサイズ (バイト) をもつ固定サイズの配列と可変サイズの配列に動的メモリ割り当てを使用します。
依存関係:
DynamicMemoryAllocation
を'Threshold'
に設定すると、このパラメーターが有効になります。
可変サイズ データのためのコード生成を参照してください。
EnableAutoExtrinsicCalls
— 自動的な外部関数呼び出し
true
(既定値) | false
自動的な外部関数呼び出し。次の表のいずれかの値として指定します。
値 | 説明 |
---|---|
true | この値が既定値です。 コード ジェネレーターは、一部の一般的な可視化関数を外部関数として扱います。 |
false | コード ジェネレーターは、coder.extrinsic の使用によって一般的な可視化関数を宣言しない限り、それらを外部関数として扱いません。 |
一部の一般的な可視化関数とは plot
、disp
、figure
です。生成コードでの MATLAB エンジンを使用した関数呼び出しの実行を参照してください。
EnableAutoParallelization
— for
ループの自動並列化
false
(既定値) | true
for
ループの自動並列化。次の表のいずれかの値として指定します。
値 | 説明 |
---|---|
false | この値が既定値です。 コード ジェネレーターは |
true | コード ジェネレーターは生成コードで |
GPU Coder を使用する場合、for
ループの自動並列化はコード ジェネレーターで常に有効になります。
データ型: logical
EnableAutoParallelizationReporting
— for
ループの自動並列化のレポート作成
true
(既定値) | false
for
ループの自動並列化のレポート作成。次の表のいずれかの値として指定します。
値 | 説明 |
---|---|
true | この値が既定値です。
|
false | コード ジェネレーターは、for ループの自動並列化についてコード生成レポートを作成しません。 |
EnableCustomReplacementTypes
— 生成されたコードでのデータ型のカスタム名
false
(既定値) | true
生成された C/C++ コードでの MATLAB データ型のカスタム名。次の表のいずれかの値として指定します。
値 | 説明 |
---|---|
false | この値が既定値です。 MATLAB データ型のカスタム名が許可されません。 |
true | MATLAB データ型のカスタム名が許可されます。カスタム名は |
EnableDynamicMemoryAllocation
— 可変サイズの配列に対する動的メモリ割り当てを有効化
true
(既定値) | false
可変サイズの配列に対する動的メモリ割り当て。次の表のいずれかの値として指定します。
値 | 説明 |
---|---|
true | この値が既定値です。 コード ジェネレーターは、サイズ (バイト単位) が |
false | コード ジェネレーターは、スタック上で可変サイズ配列のメモリを静的に割り当てます。 |
EnableImplicitExpansion
— 生成コードでの暗黙的な拡張機能
true
(既定値) | false
生成コードでの暗黙的な拡張機能。次の表のいずれかの値として指定します。
値 | 説明 |
---|---|
true | この値が既定値です。 生成コードでの暗黙的な拡張がコード ジェネレーターで有効になります。暗黙的な拡張を適用するためにコード ジェネレーターで生成コードに変更が加えられます。基本的な演算で互換性のある配列サイズを参照してください。 |
false | 生成コードは暗黙的な拡張のルールに従いません。 |
データ型: logical
EnableMemcpy
— memcpy
最適化
true
(既定値) | false
memcpy
最適化。次の表のいずれかの値として指定します。
値 | 説明 |
---|---|
true | この値が既定値です。 可能であれば、コード ジェネレーターは |
false | コード ジェネレーターは |
GPU Coder を使用する場合、Memcpy
最適化はコード ジェネレーターで常に無効になります。
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
のとき、コード生成に失敗します。
再帰関数のコード生成を参照してください。
EnableSignedLeftShifts
— 2 のべき乗での乗算の符号付きのビット単位左シフトへの置換
true
(既定値) | false
生成された C/C++ コードにおいて、2 のべき乗の乗算を符号付きのビット単位左シフトに置換。次の表のいずれかの値として指定します。
値 | 説明 |
---|---|
true | この値が既定値です。 コード ジェネレーターは 2 のべき乗の乗算に符号付き左シフトを使用します。生成された C コードで 8 の乗算に符号付き左シフトを使用する例を次に示します。 i <<= 3; |
false | コード ジェネレーターは 2 のべき乗の乗算に符号付き左シフトを使用しません。生成された C コードで、8 の乗算に符号付き左シフトを使用しない例を次に示します。 i = i * 8; |
GPU Coder は EnableSignedLeftShifts
プロパティを常に true に設定します。
MISRA などの一部のコーディング標準では、符号付き整数に対するビット単位演算は許可されません。MISRA C 準拠コードを生成する可能性を高めるには、EnableSignedLeftShifts
を false
に設定します。
Control Signed Left Shifts in Generated Code (Embedded Coder)を参照してください。
EnableSignedRightShifts
— 生成コードの符号付きビット単位右シフト
true
(既定値) | false
生成コードの符号付きビット単位右シフト。次の表のいずれかの値として指定します。
値 | 説明 |
---|---|
true | この値が既定値です。 コード ジェネレーターは符号付き右シフトを使用します。符号付きの右シフトを使用する生成された C コードの例を以下に示します。 i >>= 3 |
false | コード ジェネレーターは符号付き整数の右シフトを生成されたコードの関数呼び出しで置き換えます。次に例を示します。 i = asr_s32(i, 3U); |
GPU Coder は EnableSignedRightShifts
プロパティを常に true に設定します。
MISRA などの一部のコーディング標準では、符号付き整数に対するビット単位演算は許可されません。MISRA-C:2004 準拠コードを生成する可能性を高めるには、EnableSignedRightShifts
を false
に設定します。
EnableStrengthReduction
— 強度低減の最適化
false
(既定値) | true
強度低減の最適化。次の表のいずれかの値として指定します。
値 | 説明 |
---|---|
false | この値が既定値です。 コード ジェネレーターは強度低減の最適化を使用しません。 |
true | コード ジェネレーターは強度低減の最適化を使用して、生成されたコードでループ内の配列のインデックスを簡略化しようとします。この最適化が可能な場合、コード ジェネレーターは乗算演算を加算演算に置き換えます。乗算演算では計算量が多くなることがあります。ターゲット プラットフォーム上の C/C++ コンパイラが配列のインデックスを最適化しない場合に、この強度低減の最適化が有用です。最適化によって生成されたコード内の乗算演算が置き換えられる場合でも、C/C++ コンパイラで乗算命令を生成することができます。 |
EnableTraceability
— コード生成レポートのトレーサビリティ
true (既定値) | false
コード生成レポートのトレーサビリティ。次の表のいずれかの値として指定します。
値 | 説明 |
---|---|
true | この値が既定値です。 コード生成レポートにコードのトレーサビリティが含まれます。Interactively Trace Between MATLAB Code and Generated C/C++ Code (Embedded Coder)を参照してください。 |
false | コード生成レポートにコードのトレーサビリティは含まれません。 |
EnableVariableSizing
— 可変サイズ配列のサポート
true
(既定値) | false
可変サイズ配列のサポート。次の表のいずれかの値として指定します。
値 | 説明 |
---|---|
true | この値が既定値です。 可変サイズの配列がコード生成で許可されます。 |
false | 可変サイズの配列がコード生成で許可されません。 |
依存関係:
Dynamic memory allocation
を有効にします。
可変サイズの配列のコード生成を参照してください。
FilePartitionMethod
— ファイルの分割モード
'MapMFileToCFile'
(既定値) | 'SingleFile'
ファイルの分割モード。次の表のいずれかの値として指定します。
値 | 説明 |
---|---|
'MapMFileToCFile' | この値が既定値です。 コード ジェネレーターは各 MATLAB 言語ファイルに対して個別の C/C++ ファイルを生成します。 |
'SingleFile' | コード ジェネレーターは、MATLAB エントリポイント関数にマッピングされる C/C++ 関数に対して 1 つのファイルを生成します。コード ジェネレーターは、ユーティリティ関数に対して個別の C/C++ ファイルを生成します。 |
MATLAB Coder が生成コードを分割する方法を参照してください。
GenerateCodeMetricsReport
— 静的コード メトリクス レポート
false
(既定値) | true
静的コード メトリクス レポート。次の表のいずれかの値として指定します。
値 | 説明 |
---|---|
false | この値が既定値です。 コード ジェネレーターは、コード生成時に静的コード メトリクス解析を実行しません。コード生成レポートの [概要] タブにある [コード メトリクス] をクリックすると、後から解析を実行してレポートを生成できます。 |
true | コード ジェネレーターは、静的コード メトリクス解析を実行して、コード生成時にレポートを作成します。 |
コード メトリクス レポートを開くには、コード生成レポートの [概要] タブにある [コード メトリクス] リンクをクリックします。
依存関係:
コード ジェネレーターは、[GenerateReport] が
true
の場合またはcodegen
レポートの-report
オプションを指定する場合にのみ静的なコード メトリクス レポートを作成します。
Generating a Static Code Metrics Report for Code Generated from MATLAB Code (Embedded Coder)を参照してください。
GenCodeOnly
— ソース コードのみの生成
false
(既定値) | true
ソース コードのみの生成。次の表のいずれかの値として指定します。
値 | 説明 |
---|---|
false | この値が既定値です。 コード ジェネレーターは C/C++ ソース コードを生成し、オブジェクト コードをビルドします。 |
true | コード ジェネレーターは C/C++ ソース コードを生成しますが、make コマンドを呼び出したり、オブジェクト コードをビルドしたりしません。MATLAB コードの変更と C/C++ コードの生成を反復するときは、コードのみ生成すると時間を節約できます。 |
GenerateCodeReplacementReport
— コードの置換レポート
false
(既定値) | true
コードの置換レポート。次の表のいずれかの値として指定します。
値 | 説明 |
---|---|
false | この値が既定値です。 コード ジェネレーターは、コードの置換レポートを生成しません。 |
true | コード ジェネレーターは、選択したコード置換ライブラリから置換を表示するコード置換レポートを生成します。レポートには、各コード置換インスタンスと置換をトリガーした MATLAB コード行とのマッピングが表示されます。 |
GenerateComments
— 生成されたコード内のコメント
true
(既定値) | false
生成されたコード内のコメント。次の表のいずれかの値として指定します。
値 | 説明 |
---|---|
true | この値が既定値です。 コード ジェネレーターは生成されたコードにコメントを配置します。 |
false | コード ジェネレーターは生成されたコードにコメントを配置しません。 |
GenerateDefaultInSwitch
— すべての switch ステートメントの default ケース
false
(既定値) | true
すべての switch ステートメントの default ケース。次の表のいずれかの値として指定します。
値 | 説明 |
---|---|
false | この値が既定値です。 コード ジェネレーターは一部の switch ステートメントの default ケースを生成しない可能性があります。 |
true | コード ジェネレーターは、生成されたコードのすべての switch ステートメントの default ケースを生成します。 |
MISRA などの一部のコーディング標準では、switch ステートメントに対して default ケースが必要です。
GenerateExampleMain
— C/C++ main ファイルの生成例
'GenerateCodeOnly'
(既定値) | 'DoNotGenerate'
| 'GenerateCodeAndCompile'
C/C++ main ファイルの生成例。次の表のいずれかの値として指定します。
値 | 説明 |
---|---|
'GenerateCodeOnly' | この値が既定値です。 コード ジェネレーターは C/C++ の main 関数の例を生成しますが、コンパイルしません。 |
'DoNotGenerate' | コード ジェネレーターは C/C++ の main 関数の例を生成しません。 |
'GenerateCodeAndCompile' | コード ジェネレーターは C/C++ の main 関数の例を生成し、コンパイルしてテスト実行可能ファイルを作成します。この実行可能ファイルは出力を返しません。
|
main 関数の例は、生成された C/C++ コードを呼び出す C/C++ main 関数を作成するのに役立つテンプレートです。main 関数の例を使用した生成コードの組み込みを参照してください。
GenerateMakefile
— makefile の生成
true
(既定値) | false
ビルド プロセス中の makefile の生成。次の表のいずれかの値として指定します。
値 | 説明 |
---|---|
true | この値が既定値です。 コード ジェネレーターは、ビルド プロセス中に makefile を生成します。 |
false | コード ジェネレーターは、ビルド プロセス中に makefile を生成しません。コード生成後のコマンドで、コンパイルやリンクを含む、コード生成後処理の手順を指定します。ビルド プロセスのカスタマイズを参照してください。 |
GenerateNonFiniteFilesIfUsed
— 非有限データが使用される場合のみ非有限データのサポート ファイルを生成
true
(既定値) | false
非有限データのサポート ファイルの生成。以下の表のいずれかの値として指定します。
値 | 説明 |
---|---|
true | この値が既定値です。 コード ジェネレーターは、生成されたコードが非有限データ ( |
false | コード ジェネレーターは、非有限データ ( |
依存関係:
SupportNonFinite
をtrue
に設定すると、このパラメーターが有効になります。
GenerateReport
— コード生成レポート
false
(既定値) | true
コード生成レポート。次の表のいずれかの値として指定します。
値 | 説明 |
---|---|
false | この値が既定値です。 コード ジェネレーターは、エラーや警告メッセージが発生した場合のみ、または |
true | コード ジェネレーターはコード生成レポートを生成します。 |
Hardware
— ハードウェア ボードを指定するオブジェクト
coder.Hardware
オブジェクト
ハードウェア ボードを指定するオブジェクト。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)を参照してください。
HardwareImplementation
— ハードウェア実行オブジェクト
coder.HardwareImplementation
オブジェクト
C/C++ コード生成のハードウェア固有の構成パラメーターを指定するハードウェア実行オブジェクト。coder.config
は、HardwareImplementation
プロパティが MATLAB ホスト コンピューターの既定のパラメーター値をもつ coder.HardwareImplementation
オブジェクトに設定された coder.EmbeddedCodeConfig
オブジェクトを作成します。
HeaderGuardStyle
— 生成されたコードでのプリプロセッサ命令のスタイル
UseIncludeGuard
(既定値) | UsePragmaOnce
複数のヘッダー ファイルが含まれていることに起因するコンパイル エラーを回避するために、コード ジェネレーターによって生成ヘッダー ファイル内に #ifndef
または #pragma once
のいずれかの構造が生成されます。同じプリプロセッサ マクロを使用する異なるファイルをプロジェクトで使用する場合、#pragma once
構造を使用してコードを生成します。#pragma once
のコンパイル動作は標準化されていません。
次の表のいずれかの値として HeaderGuardStyle
を指定します。
値 | 説明 |
---|---|
UseIncludeGuard | コード ジェネレーターによって |
UsePragmaOnce | コード ジェネレーターによって #pragma once スタイルの #include ガードが生成されます。 |
HighlightPotentialDataTypeIssues
— コード生成レポートでの潜在的なデータ型の問題の強調表示
false
(既定値) | true
コード生成レポートでの潜在的なデータ型の問題の強調表示。次の表のいずれかの値として指定します。
値 | 説明 |
---|---|
false | この値が既定値です。 このコード生成レポートでは、潜在的なデータ型の問題が強調表示されません。 |
true | コード生成レポートでは、生成された C/C++ コード内で単精度演算または倍精度演算になる MATLAB コードが強調表示されます。Fixed-Point Designer™ をお持ちの場合、生成されたコード内で計算量の多い固定小数点演算になる MATLAB コード内の式も強調表示されます。 |
HighlightPotentialRowMajorIssues
— 行優先のレイアウトによる潜在的な問題
true
(既定値) | false
行優先のレイアウトによる効率性の潜在的な問題の表示。次の表のいずれかの値として指定します。
値 | 説明 |
---|---|
true | コード生成レポートには、行優先のレイアウトによる効率性の潜在的な問題が表示されます (この値が既定値です)。 |
false | コード生成レポートには、配列レイアウトに関する問題は表示されません。 |
行優先のレイアウトのコード設計を参照してください。
IncludeInitializeFcn
— 初期化関数の生成
true
(既定値) | false
初期化関数の生成。次の表のいずれかの値として指定します。
値 | 説明 |
---|---|
true | この値が既定値です。 コード ジェネレーターによって初期化関数が生成されます。 |
false | コード ジェネレーターでは初期化関数は生成されません。 MATLAB Code Patterns That Require a Nonempty Initialize Function in Generated Code (Embedded Coder)を参照してください。 |
GPU Coder を使用する場合、初期化関数はコード ジェネレーターで常に生成されます。
IncludeTerminateFcn
— 終了関数の生成
true
(既定値) | false
終了関数の生成。次の表のいずれかの値として指定します。
値 | 説明 |
---|---|
true | この値が既定値です。 コード ジェネレーターは終了関数を生成します。 |
false | コード ジェネレーターは終了関数を生成しません。 |
GPU Coder を使用する場合、終了関数はコード ジェネレーターで常に生成されます。
IndentSize
— インデント レベル単位の文字数
2 (既定値) | 正の整数
インデント レベル単位の文字数。[2,8] の範囲の正の整数として指定します。
IndentStyle
— 生成されたコードの中かっこの配置スタイル
'K&R'
(既定値) | 'Allman'
生成されたコードの中かっこの配置スタイル。次の表のいずれかの値として指定します。
値 | 説明 |
---|---|
'K&R' | この値が既定値です。 関数内のブロックでは、左中かっこはコントロール ステートメントと同じ行にあります。次に例を示します。 void addone(const double x[6], double z[6]) { int i0; for (i0 = 0; i0 < 6; i0++) { z[i0] = x[i0] + 1.0; } } |
'Allman' | 関数内のブロックでは、左中かっこはコントロール ステートメントと同じインデント レベルの別の行にあります。次に例を示します。 void addone(const double x[6], double z[6]) { int i0; for (i0 = 0; i0 < 6; i0++) { z[i0] = x[i0] + 1.0; } } |
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')
命令によってオーバーライドされます。詳細については、異なるインライン化制御間の相互作用を参照してください。
生成コードのパフォーマンスと可読性を微調整するためのインライン化の制御を参照してください。
InstructionSetExtensions
— ターゲット ハードウェアの SIMD 命令セット
'None'
(既定値) | 'SSE'
| 'SSE2'
| 'SSE4.1'
| 'AVX'
| 'AVX2'
| 'FMA'
| 'AVX512F'
ターゲット ハードウェアの単一命令複数データ (SIMD) コードを生成するための命令セット。このリストは命令セットの依存関係を示しており、各命令セットはそれよりも前の命令セットに依存します。コード ジェネレーターは、指定された命令セットとそれが依存する命令セットを読み込みます。たとえば、AVX
を選択すると、コード ジェネレーターで AVX
、SSE4.1
、SSE2
、および SSE
が読み込まれます。
Generate SIMD Code for MATLAB Functionsを参照してください。
GPU Coder を使用する場合、InstructionSetExtensions
はコード ジェネレーターで常に無効になります。
JustifyMISRAViolations
— 既知の MISRA/AUTOSAR 違反を抑制する注釈を追加
false
(既定値) | true
生成される C/C++ コードに MISRA と AUTOSAR の既知の違反を抑制する注釈を付けます。次の表のいずれかの値として指定します。
値 | 説明 |
---|---|
false | この値が既定値です。 コード ジェネレーターで生成される C/C++ コードに注釈が追加されません。 |
true | GenerateComments も true の場合のみ、コード ジェネレーターで生成される C/C++ コードに注釈が追加されます。 |
LaunchReport
— コード生成レポートを自動的に開く
false
(既定値) | true
コード生成レポートを自動的に開く。次の表のいずれかの値として指定します。
値 | 説明 |
---|---|
false | この値が既定値です。 エラーや警告が発生した場合、または |
true | コード ジェネレーターはコード生成レポートを生成して開きます。 |
LoopUnrollThreshold
— for
ループおよび parfor
ループを自動的に展開するかどうかを決定する反復回数に対するしきい値
5 (既定値) | 正の整数
このしきい値より反復回数が少ないループが、コード ジェネレーターによる自動展開の候補です。このしきい値は、MATLAB コードのすべての for
ループと parfor
ループに適用されます。個々の for
ループでは、ループの直前に配置された coder.unroll
命令がループ展開の最適化より優先されます。しきい値は、コード生成中に生成された一部の for
ループにも適用できます。
for ループおよび parfor ループの展開を参照してください。
MATLABFcnDesc
— 関数バナー内の MATLAB 関数のヘルプ テキスト
true
(既定値) | false
生成されたコードの関数バナー内の MATLAB 関数のヘルプ テキスト。次の表のいずれかの値として指定します。
値 | 説明 |
---|---|
true | この値が既定値です。 コード ジェネレーターは、生成されたコードの関数バナー内に MATLAB 関数のヘルプ テキストを含めます。 |
false | コード ジェネレーターはヘルプ テキストをユーザー コメントとして扱います。 |
選択されていない場合、MATLAB Coder はヘルプ テキストをユーザー コメントとして扱います。
依存関係:
GenerateComments
により、このパラメーターが有効になります。
MATLABSourceComments
— 生成コードに MATLAB ソース コードをコメントとして含める
false
(既定値) | true
生成コードに MATLAB ソース コードをコメントとして含める。次の表のいずれかの値として指定します。
値 | 説明 |
---|---|
false | この値が既定値です。 コード ジェネレーターは MATLAB ソース コードをコメントとして生成コードに挿入しません。コード ジェネレーターは関数バナーに MATLAB 関数シグネチャを含めません。 |
true | コード ジェネレーターは MATLAB ソース コードをコメントとして生成コードに挿入します。トレーサビリティ タグがソース コードの各行の直前に挿入されます。トレーサビリティ タグにより、対応する MATLAB ソース コードの位置を特定できます。MATLAB ソース コードへの生成された C/C++ コードのトレースを参照してください。 Embedded Coder をお持ちの場合は、コード生成レポートで、トレーサビリティ タグがソース コードにリンクします。 コード ジェネレーターは関数バナーに MATLAB 関数シグネチャも含めます。 |
依存関係:
GenerateComments
により、このパラメーターが有効になります。
MATLAB ソース コードへの生成された C/C++ コードのトレースを参照してください。
MATLABSourceCommentLineNumbers
— MATLAB ソース コードの行番号を生成されたコードにコメントとして含める
true
(既定値) | false
MATLAB ソース コードの行番号を生成されたコードにコメントとして含めるかどうか。true
または false
として指定します。このプロパティを false
に設定すると、コード生成レポートからトレーサビリティ タグが削除されます。
依存関係:
GenerateComments
をtrue
に設定すると、このパラメーターが有効になります。
MaxIdLength
— 生成される識別子の最大文字数
31
| 1024 | 正の整数
生成される識別子の最大文字数。[31, 2048] の範囲の正の整数として指定します。このプロパティは、生成された関数、型定義、変数名に適用されます。ターゲットの C/C++ コンパイラで識別子が短縮されるのを避けるには、ターゲットの C/C++ コンパイラにおける識別子の最大長と一致する値を指定します。
このプロパティは、エントリ ポイント関数や emxArray API 関数用に生成される名前などの、エクスポートされる識別子には適用されません。エクスポートされた識別子の長さがターゲット C/C++ コンパイラの識別子の最大長を超える場合には、エクスポートされた識別子はターゲット C/C++ コンパイラによって打ち切られます。
既定値:
TargetLang
が'C'
に設定されている場合、MaxIdLength
の既定値は31
です。TargetLang
が'C++'
に設定されている場合、MaxIdLength
の既定値は1024
です。
MemcpyThreshold
— memcpy
最適化または memset
最適化の最小サイズ
64 (既定値) | 正の整数
memcpy 最適化または memset 最適化の最小サイズ (バイト単位)。正の整数として指定します。
連続する配列要素をコピーする生成されたコードを最適化するために、コード ジェネレーターはこのコードを memcpy
呼び出しに置き換えることを試みます。リテラル定数を連続する配列要素に代入する生成されたコードを最適化するために、コード ジェネレーターはこのコードを memset
呼び出しに置き換えることを試みます。
バイト数は、コピーまたは代入する配列要素数に C/C++ データ型に必要なバイト数を乗算した値です。
コピーまたは代入する要素の数が可変である (コンパイル時に不明) 場合、コード ジェネレーターは MemcpyThreshold
プロパティを無視します。
memcpy 最適化とmemset の最適化を参照してください。
MultiInstanceCode
— マルチインスタンスの再呼び出し可能なコード
false
(既定値) | true
マルチインスタンスの再呼び出し可能なコード。次の表のいずれかの値として指定します。
値 | 説明 |
---|---|
false | この値が既定値です。 コード ジェネレーターは、マルチインスタンスの再呼び出し可能なコードを生成しません。 |
true | コード ジェネレーターは、再呼び出し可能な、再利用可能なマルチインスタンス コードを生成します。 |
再呼び出し可能なコードを参照してください。
このオプションは GPU Coder 製品ではサポートされていません。
Name
— オブジェクト名
'EmbeddedCodeConfig'
(既定値) | 文字ベクトル
オブジェクト名。文字ベクトルとして指定します。
NumberOfCpuThreads
— 並列 for ループを実行する CPU スレッドの最大数
0 (既定値) | 正の整数
生成された C/C++ コードで並列 for
ループを実行する CPU スレッドの最大数。正の整数として指定します。
生成コードで並列 for ループを実行するための最大スレッド数の指定を参照してください。
OutputType
— 生成された C/C++ コードからビルドする出力
'LIB'
| 'DLL'
| 'EXE'
C/C++ コードからビルドする出力。次の表のいずれかの値として指定します。
値 | 説明 |
---|---|
'LIB' | スタティック ライブラリ |
'DLL' | ダイナミック リンク ライブラリ |
'EXE' | 実行可能プログラム |
ParenthesesLevel
— 生成されたコードでのかっこのレベル
'Nominal'
(既定値) | 'Minimum'
| 'Maximum'
生成されたコードでのかっこのレベル。次の表のいずれかの値として指定します。
値 | 説明 |
---|---|
'Nominal' | この値が既定値です。 コード ジェネレーターは、可読性と見た目の複雑度のバランスをとるためにかっこを挿入します。次に例を示します。
Out = ((In2 - In1 > 1.0) && (In2 > 2.0)); |
'Maximum' | コード ジェネレーターは、演算子の優先順位に依存せずに意味を指定するためにかっこを含めます。この設定で生成されるコードは MISRA の要件に準拠しています。次に例を示します。
Out = (((In2 - In1) > 1.0) && (In2 > 2.0)); |
'Minimum' | コード ジェネレーターは、ANSI® C または C++ で必要な場所にかっこを挿入するか、既定の優先順位をオーバーライドするためにかっこを挿入します。次に例を示します。
Out = In2 - In1 > 1.0 && In2 > 2.0; 最小レベルを使用する C/C++ コードを生成すると、コンパイラの一部ではある設定に対して、コンパイラの警告が表示される場合があります。これらの警告を削除するには、標準レベルを試します。 |
PassStructByReference
— 構造体の参照渡し
true
(既定値) | false
エントリポイント関数への構造体の参照渡し。次の表のいずれかの値として指定します。
値 | 説明 |
---|---|
true | この値が既定値です。 生成されたコードで、構造体が参照渡しされます。これによりエントリポイント関数境界でのパラメーターのコピー数が最小になり、メモリ使用量と実行時間が削減されます。 メモ 構造体パラメーターのフィールドに書き込むエントリポイント関数が入力値を上書きします。
|
false | 生成されたコードで、構造体が参照渡しされます。 |
このパラメーターはエントリポイント関数にのみ適用されます。
生成されたコードで構造体の引数を参照または値で渡すを参照してください。
PostCodeGenCommand
— ビルド プロセスをカスタマイズするコマンド
''
(既定値) | 文字ベクトル
codegen
を使用した MEX 関数の生成後にビルド プロセスをカスタマイズするコマンド。文字ベクトルとして指定します。
ビルド プロセスのカスタマイズを参照してください。
PreserveExternInFcnDecls
— 関数宣言での extern
キーワードの保持
true
(既定値) | false
生成されたコードの関数宣言での extern
キーワードの保持。次の表のいずれかの値として指定します。
値 | 説明 |
---|---|
true | この値が既定値です。 コード ジェネレーターは、外部関数の宣言に |
false | コード ジェネレーターは関数宣言から |
PreserveArrayDimensions
— N 次元のインデックス
false
(既定値) | true
N 次元のインデックスを使用するコードの生成。次の表のいずれかの値として指定します。
値 | 説明 |
---|---|
false | 1 次元インデックスを使用するコードを生成します (この値が既定値です)。 |
true | N 次元インデックスを使用するコードを生成します。 |
N 次元インデックスを使用するコードの生成を参照してください。
PreserveUnusedStructFields
— 生成された C/C++ コードにおける未使用のクラス プロパティまたは構造体フィールドの保持
false
(既定値) | true
生成された C/C++ コードにおける未使用のクラス プロパティまたは構造体フィールドの保持。次の表のいずれかの値として指定します。
値 | 説明 |
---|---|
false | この値が既定値です。 コード ジェネレーターは、生成コードにおける未使用のプロパティとフィールドを削除して C/C++ コードを生成します。 |
true | コード ジェネレーターは、生成コードにおける未使用のプロパティとフィールドを保持して C/C++ コードを生成します。 |
Removal of Unused Class Properties in Generated C/C++ Code (Embedded Coder)を参照してください。
PreserveVariableNames
— 生成されたコード内に保持する変数名
'None'
(既定値) | 'UserNames'
| 'All'
生成されたコード内に保持する変数名。次の表のいずれかの値として指定します。
値 | 説明 |
---|---|
'None' | この値が既定値です。 コード ジェネレーターで変数名を保持する必要はありません。変数再利用の要件に適合する変数であれば、再利用します。 コードで大きい構造体または配列を使用する場合、 |
'UserNames' | コード ジェネレーターは MATLAB コードで定義した変数に対応する名前を保持します。ユーザーの変数名が別の名前で置換されたり、ユーザーの名前が別の変数に使用されることはありません。可読性を向上させるには、
|
'All' | すべての変数名を保持します。このパラメーター値により変数再利用が無効になります。テストまたはデバッグのみに使用し、量産コードでは使用しないでください。 |
生成されたコードでの変数名の保持を参照してください。
PurelyIntegerCode
— 浮動小数点コードの検出
false
(既定値) | true
浮動小数点コードの検出。次の表のいずれかの値として指定します。
値 | 説明 |
---|---|
false | この値が既定値です。 コード ジェネレーターで浮動小数点データおよび演算を使用できます。 |
true | コード ジェネレーターで浮動小数点データまたは演算を使用できません。コード ジェネレーターが浮動小数点データまたは演算を検出すると、コード生成はエラーで終了します。 |
依存関係:
PurelyIntegerCode
をtrue
に設定すると、SupportNonFinite
パラメーターが無効になります。PurelyIntegerCode
をfalse
に設定すると、SupportNonFinite
パラメーターが有効になります。
ReplacementTypes
— MATLAB データ型のカスタム名の指定
coder.ReplacementTypes
オブジェクト
生成される C/C++ コードでの MATLAB 組み込みデータ型のカスタム名を指定します。対象となるデータ型は、double
、single
、uint8
、uint16
、uint32
、uint64
、int8
、int16
、int32
、int64
、char
、および logical
です。
依存関係:
EnableCustomReplacementTypes
をtrue
に設定すると、ReplacementTypes
パラメーターが有効になります。データ型置換のカスタマイズ (Embedded Coder)を参照してください。
ReportInfoVarName
— コード生成レポートの情報を格納する変数の名前
''
(既定値) | 文字ベクトル
コード生成に関する情報をエクスポートする変数の名前。文字ベクトルとして指定します。コード ジェネレーターでは、この変数をベースの MATLAB ワークスペースに作成します。この変数には、コード生成設定、入力ファイル、生成ファイル、およびコード生成メッセージに関する情報が格納されます。
コード生成レポートの情報へのプログラムによるアクセスおよび coder.ReportInfo のプロパティ を参照してください。
ReportPotentialDifferences
— 潜在的な相違点のレポート
true
(既定値) | false
潜在的な相違点のレポート。次の表のいずれかの値として指定します。
値 | 説明 |
---|---|
true | コード ジェネレーターは生成コードと MATLAB コード間での潜在的な動作の相違をレポートします。潜在的な相違はコード生成レポートのタブに一覧表示されます。潜在的な相違とは、特定の状況にある場合にのみ実行時に生じる違いです。 |
false | コード ジェネレーターは潜在的な相違をレポートしません。 |
潜在的な相違点のレポートを参照してください。
ReqsInCode
— 要件リンクをコメントとして含める
false
(既定値) | true
要件リンク (Requirements Toolbox™) をコメントとして含めるオプション。true
または false
として指定します。
コメントはコード生成レポートにハイパーリンクとして表示され、そこから要件とリンクされた MATLAB コード範囲に移動できます。Requirements Traceability for Code Generated from MATLAB Code (Requirements Toolbox)を参照してください。
ReservedNameArray
— コード ジェネレーターが関数または変数に使用してはならない名前
''
(既定値) | string 配列 | 文字ベクトルの cell 配列 | 文字ベクトル
コード ジェネレーターが関数または変数に使用してはならない名前のリスト。string 配列、文字ベクトルの cell 配列、または文字ベクトルとして指定します。
複数の予約名。次の表のいずれかの値として指定します。
値 | 説明 |
---|---|
string 配列 |
|
文字ベクトルの cell 配列 |
|
文字ベクトル |
メモ コード構成オブジェクトでの文字ベクトルを使用した複数のエントリの指定は、将来のリリースで削除される予定です。代わりに string 配列または文字ベクトルの cell 配列を使用してください。詳細については、互換性についての考慮事項を参照してください。 |
RowMajor
— 行優先の配列レイアウト
false
(既定値) | true
行優先の配列レイアウトを使用するコードの生成。次の表のいずれかの値として指定します。
値 | 説明 |
---|---|
false | 列優先の配列レイアウトを使用するコードを生成します (この値が既定値です)。 |
true | 行優先の配列レイアウトを使用するコードを生成します。 |
行優先の配列レイアウトを使用するコードの生成を参照してください。
RunInitialzeFcn
— 初期化関数を自動的に実行
true (既定値) | false
生成されたエントリポイント関数の開始時に初期化関数の呼び出しを生成。次の表のいずれかの値として指定されます。
値 | 説明 |
---|---|
true | この値が既定値です。 初期化関数の呼び出しは、生成されたエントリポイント関数の開始時に含まれています。生成されたコードには、複数のエントリポイント関数が存在する場合でも、初期化関数の呼び出しが 1 回のみであることを確認するためのチェックが含まれています。 |
false | 生成されたエントリポイント関数には初期化関数の呼び出しが含まれていません。 |
依存関係:
IncludeInitializeFcn
とIncludeTerminateFcn
をtrue
に設定することで、このパラメーターが有効になります。MultiInstanceCode
をtrue
に設定すると、このパラメーターは無効になります。
生成された初期化関数と終了関数の使用を参照してください。
RuntimeChecks
— 生成されたコードでのランタイム エラーの検出とレポート
false
(既定値) | true
生成されたコードでのランタイム エラーの検出とレポート。次の表のいずれかの値として指定します。
値 | 説明 |
---|---|
false | この値が既定値です。 生成されたコードは、範囲外の配列インデックスなどのエラーをチェックしません。 |
true | 生成されるコードで範囲外の配列インデックスなどのエラーのチェックが行われます。 エラー報告ソフトウェアは エラー メッセージは英語です。 |
実行時エラーを検出および報告するスタンドアロン C/C++ コードの生成を参照してください。
SaturateOnIntegerOverflow
— 整数オーバーフローのサポート
true
(既定値) | false
整数オーバーフローのサポート。次の表のいずれかの値として指定します。
値 | 説明 |
---|---|
true | この値が既定値です。 コード ジェネレーターは整数オーバーフローを処理するコードを生成します。オーバーフローは、データ型が表現できる最小値または最大値のいずれかに飽和します。 |
false | コード ジェネレーターは整数オーバーフローを処理するコードを生成しません。コードが整数オーバーフローのサポートに依存していることが確認されない限り、 |
このパラメーターは、MATLAB の組み込み整数型にのみ適用されます。double、single または固定小数点データ型には適用されません。
整数オーバーフローまたは非有限のサポートの無効化を参照してください。
SILPILDebugging
— SIL または PIL 実行時の生成コードのデバッグ
false
(既定値) | true
ソフトウェアインザループ (SIL) またはプロセッサインザループ (PIL) 実行時の生成コードのデバッグ。次の表のいずれかの値として指定します。
値 | 説明 |
---|---|
false | この値が既定値です。 SIL または PIL 実行時の生成コードのデバッグを無効にします。 |
true | ソフトウェアインザループ (SIL) またはプロセッサインザループ (PIL) 実行時のデバッガーによるコードの動作の観察を有効にします。 SIL の実行でサポートされるデバッガー:
サポート パッケージのインストールの詳細については、https://www.mathworks.com/matlabcentral/fileexchange/103555を参照してください。 PIL 実行用のデバッガーのセットアップの詳細については、Set Up PIL Connectivity by Using target Package (Embedded Coder)を参照してください。 |
SIL または PIL の実行中における生成コードのデバッグ (Embedded Coder)を参照してください。
SILPILCheckConstantInputs
— SIL または PIL 実行の定数入力チェック
true
(既定値) | false
SIL または PIL 実行の定数入力チェック。次の表のいずれかの値として指定します。
値 | 説明 |
---|---|
true | この値が既定値です。 SIL または PIL の実行において、テスト ファイルによって定数入力引数に指定される値とコード生成時に指定された値を比較します。値が一致しない場合は、エラーが発生します。 |
false | SIL または PIL の実行において、テスト ファイルによって定数入力引数に指定される値とコード生成時に指定された値を比較しません。SIL または PIL の実行では、コード生成時に指定された値が使用されます。テスト ファイルで異なる値を使用する場合、MATLAB の結果は SIL または PIL の実行の結果と異なる場合があります。
|
Speed Up SIL/PIL Execution by Disabling Constant Input Checking and Global Data Synchronization (Embedded Coder)を参照してください。
SILPILSyncGlobalData
— SIL または PIL 実行のグローバルなデータ同期モード
true
(既定値) | false
SIL または PIL 実行のグローバルなデータ同期モード。次の表のいずれかの値として指定します。
値 | 説明 |
---|---|
true | この値が既定値です。 SIL または PIL の実行で、SIL または PIL 実行環境のグローバル変数の値を MATLAB ワークスペースの値と同期します。グローバル変数が定数で、SIL または PIL 実行環境の値が MATLAB ワークスペースの値と異なる場合は、エラーが発生します。 |
false | SIL または PIL の実行で、SIL または PIL 実行環境のグローバル変数の値は MATLAB ワークスペースの値と同期されません。値が同期されない場合、MATLAB の結果は SIL または PIL 実行の結果と異なる可能性があります。
|
Speed Up SIL/PIL Execution by Disabling Constant Input Checking and Global Data Synchronization (Embedded Coder)を参照してください。
SILPILVerbosity
— SIL または PIL 実行時の通信の I/O 情報の表示
'off'
(既定値) | 'on'
ソフトウェアインザループ (SIL) またはプロセッサインザループ (PIL) 実行時の通信の I/O 情報の表示。次の表のいずれかの値として指定します。
値 | 説明 |
---|---|
'off' | この値が既定値です。 SIL または PIL の実行時にコード ジェネレーターで通信の I/O 情報を表示しません。 |
'on' | SIL または PIL の実行時にコード ジェネレーターで通信の I/O 情報を表示します。 |
Troubleshooting Host-Target Communication (Embedded Coder)を参照してください。
StackUsageMax
— アプリケーションごとの最大スタック使用量
200000
(既定値) | 正の整数
アプリケーションごとの最大スタック使用量 (バイト単位)。正の整数として指定します。使用できるスタック サイズより小さい制限値を設定します。そうしないと、実行時スタック オーバーフローが発生する場合があります。C コンパイラはスタック オーバーフローを検出して報告します。
整数オーバーフローまたは非有限のサポートの無効化を参照してください。
SupportNonFinite
— 非有限値のサポート
true
(既定値) | false
非有限値のサポート。次の表のいずれかの値として指定します。
値 | 説明 |
---|---|
true | この値が既定値です。
|
false | コード ジェネレーターは非有限値をサポートするコードを生成しません。 |
整数オーバーフローまたは非有限のサポートの無効化を参照してください。
TargetLang
— 生成されたコードで使用する言語
'C'
(既定値) | 'C++'
生成されたコードで使用する言語。'C'
または 'C++'
として指定します。C++ を指定する場合、コード ジェネレーターは C コードを .cpp ファイルにラップするため、C++ コンパイラおよび外部 C++ アプリケーションとのインターフェイスを使用できます。C++ クラスは生成しません。
GPU Coder を使用する場合、TargetLang
はコード ジェネレーターで常に C++
に設定されます。
依存関係: DeepLearningConfig
を設定すると、codegen
で TargetLang
が C++
に設定されます。
TargetLangStandard
— 生成コードに使用する言語標準
'Auto'
(既定値) | 'C89/C90 (ANSI)'
| 'C99 (ISO)'
| 'C++03 (ISO)'
| 'C++11 (ISO)'
'Auto'
オプションでは、TargetLang
の設定を使用して、生成コードに使用する言語標準が選択されます。既定の言語標準は、選択する言語によって異なります。C の場合、既定のライブラリは 'C99 (ISO)'
です。C++ の場合、既定のライブラリは 'C++11 (ISO)'
です。
生成コードに使用する言語標準。次の表のいずれかの値として指定します。
'C89/C90 (ANSI)'
'C99 (ISO)'
'C++03 (ISO)'
'C++11 (ISO)'
コード ジェネレーターは算術演算および他の演算の呼び出しに言語標準を使用します。
言語標準の変更を参照してください。
Toolchain
— C/C++ ライブラリまたは実行可能プログラムをビルドするために使用するツールチェーン
'Automatically locate an installed toolchain'
(既定値) | 文字ベクトル
C/C++ ライブラリまたは実行可能プログラムをビルドするために使用するツールチェーン。文字ベクトルとして指定します。使用可能なツールチェーンのリストはホスト コンピューターのプラットフォームによって異なり、追加したカスタム ツールチェーンを含めることができます。ツールチェーンを指定しない場合、コード ジェネレーターはインストールされているツールチェーンを自動的に検索します。
メモ:
coder.CodeConfig
オブジェクトcfg
を MATLAB セッションで作成し、そのオブジェクトを別の MATLAB セッションで使用するとします。2 つ目のセッションの MATLAB ホスト コンピューターにcfg.Toolchain
プロパティで指定されたツールチェーンがインストールされていないと、このパラメーターは既定値に戻ります。既定値は'Automatically locate an installed toolchain'
です。
UseBuiltinFFTWLibrary
— MATLAB に付属の FFTW ライブラリを使用するコードを生成
false
(既定値) | true
MATLAB コード内の高速フーリエ変換 (FFT) 関数用に MATLAB に付属の FFTW ライブラリの呼び出しを生成するコードを生成するかどうか。次の表のいずれかの値として指定します。
値 | 説明 |
---|---|
false | この値が既定値です。 コード ジェネレーターで、MATLAB コード内の FFT 関数用に組み込み FFTW ライブラリの呼び出しを生成しません。 |
true | コード ジェネレーターで、MATLAB コード内の FFT 関数用に組み込み FFTW ライブラリの呼び出しを生成します。 |
データ型: logical
Verbose
— コード生成の進行状況表示 (削除予定)
false (既定値) | ltrue
コード生成の進行状況表示。次の表のいずれかの値として指定します。
値 | 説明 |
---|---|
false | この値が既定値です。 コード ジェネレーターには、コード生成の進行状況が表示されません。 |
true | コード ジェネレーターには、コード生成の段階やコンパイラ出力を含む、コード生成の進行状況が表示されます。 |
Verbosity
— コード生成の進行状況表示
'Info'
(既定値) | 'Silent'
| 'Verbose'
MATLAB コマンド ラインでコード生成の進行状況のステータスを表示するかどうか。次の表のいずれかの値として指定します。
値 | 説明 |
---|---|
'Silent' | コード生成が警告なしで正常に実行された場合に、レポートの生成時も含め、すべてのメッセージを非表示にします。 警告およびエラー メッセージは表示されます。 |
'Info' | この値が既定値です。
|
'Verbose' |
|
VerificationMode
— コード検証モード
'None'
(既定値) | 'SIL'
| 'PIL'
コード検証モード。次の表のいずれかの値として指定します。
値 | 説明 |
---|---|
'None' | ノーマル実行 |
'SIL' | ソフトウェアインザループ (SIL) 実行 |
'PIL' | プロセッサインザループ (PIL) 実行 |
Code Verification Through Software-in-the-Loop and Processor-in-the-Loop Execution (Embedded Coder)を参照してください。
例
Embedded Coder でのスタンドアロン コードの生成に関する構成パラメーターの指定
コードを生成できる 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 で導入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'};
として使用して、生成コードのコンパイル用のパスをインクルードできます。
R2021a: Verbose
プロパティは削除予定
将来のリリースでは、Verbose
プロパティは削除される予定です。
コード生成の進行状況表示を構成するには、Verbosity
プロパティを使用してください。
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)