コード生成の構成
出力ファイルの名前、場所、種類、言語などのコード生成設定の構成
コード生成プロセスを制御および構成するために、多くのパラメーターおよび設定が用意されています。これらの設定は、出力ビルドの種類 (MEX、lib、dll または exe) および C と C++ 言語などの属性を制御します。その他の構成設定により、可読性、パフォーマンス、外部コードの統合などの特定のニーズに応じて生成コードをカスタマイズできます。アプリまたはコマンド ラインでコード生成構成オブジェクトの構成設定を変更できます。coder.config を使用して、構成オブジェクトを作成できます。open を使用して、編集アプリでオブジェクトを開きます。
関数
coder.config | コード生成構成オブジェクトを作成する |
コード構成設定
| ビルド タイプ | 生成された C/C++ コードからビルドする出力 |
| 言語 | 生成されたコードで使用する言語 |
| 言語標準 | Language standard to use for the generated code |
| カスタム出力ファイル | Name of code generation output file |
| コード生成のみ | ソース コードのみの生成 |
| 検証モード | コード検証モード |
| ビルド フォルダー | Folder type for files generated during build process |
| ビルド フォルダーのパス | Folder path for files generated during build process |
| 作業フォルダー | Current working folder type for build process |
| 作業フォルダーのパス | Current working folder path for build process |
| Ctrl + C キーへの応答、およびグラフィックスの更新を有効にする | 応答性チェック |
| 外部呼び出しを維持 | 外部関数呼び出しのサポート |
| メモリの整合性をチェック | メモリの整合性チェック |
| 整数オーバーフローで飽和 | 整数オーバーフローのサポート |
| 純粋な整数のみをサポート | 浮動小数点コードの検出 |
| 非有限数のサポート | 非有限値のサポート |
| ループ展開のしきい値 | Threshold on the number of iterations that determines whether to automatically
unroll a for-loop and a parfor-loop |
| エントリポイント関数の入力データを保持 | エントリポイントの入力データが変更されないように保護するかどうか |
| C restrict 関数引数を検定する | Annotate function declarations with the restrict keyword |
| 可能な場合は OpenMP ライブラリを有効にする | parfor ループの並列化 |
| 自動並列化を有効にする | for ループの自動並列化 |
| CPU スレッドの最大数 | 並列 for ループを実行する CPU スレッドの最大数 |
| ターゲット ハードウェアの命令セット拡張を活用 | SIMD instruction set for target hardware |
| FMA | Whether to use SIMD instructions for fused multiply add operations |
| ユーザー定義の MATLAB 関数に対するインライン手法 | ユーザー記述関数間のインライン化を制御 |
| MathWorks 定義の MATLAB 関数に対するインライン手法 | MathWorks 関数間のインライン化を制御 |
| MathWorks 関数とユーザー関数の間の呼び出しに対するインライン手法 | ユーザー記述関数と MathWorks 関数の間のインライン化を制御 |
| リダクションの最適化 | リダクション演算の SIMD コードの生成 | リダクション演算を実行する for ループの並列化 |
| ハードウェア SIMD アクセラレーション | Level of SIMD intrinsics |
| グローバルなデータ同期モード | グローバルなデータ同期モード |
| 可変サイズを有効化 | 可変サイズ配列のサポート |
| 動的メモリ割り当てを有効化 | 可変サイズの配列に対する動的メモリ割り当てを有効化 |
| 動的メモリ割り当てしきい値 | 可変サイズの配列の動的なメモリ割り当てのサイズしきい値 |
| 固定サイズの配列に対する動的メモリ割り当てを有効化 | 固定サイズの配列に対する動的メモリ割り当て |
| 動的メモリ割り当てインターフェイス | Dynamically allocated array at generated function interface |
| 配列のレイアウト | 行優先の配列レイアウト |
| 配列の次元を保持 | N 次元のインデックス |
| 最大スタック使用量 | アプリケーションごとの最大スタック使用量 |
| 再呼び出し可能なコードを生成 | マルチインスタンスの再呼び出し可能なコード |
| 未使用のフィールドとプロパティを保持 | 生成された C/C++ コードにおける未使用のクラス プロパティまたは構造体フィールドの保持 |
| 生成されたファイルの分割法 | ファイルの分割モード |
| 大きな定数の生成 | 大きな深層学習の定数をバイナリ データ ファイルに書き込むかどうか |
| 大きな定数のしきい値 | Threshold above which the code generator writes DNN constants to binary data files |
| コメントを含める | 生成されたコード内のコメント |
| コメント スタイル | 生成コードのコメント スタイル |
| コメントを示す MATLAB ソース コード | Inclusion of MATLAB source code as comments in generated code |
| MATLAB ソース コード コメントの行番号 | Include line numbers of MATLAB source code as comments in the generated code |
| MATLAB 関数のヘルプ テキスト | 関数バナー内の MATLAB 関数のヘルプ テキスト |
| コメントとしての要件の概要 | 要件リンクをコメントとして含める |
| if-elseif-else のパターンを switch-case ステートメントに変換する | if-elseif-else パターンの switch-case ステートメントへの変換 |
| 関数の宣言で extern キーワードを保持する | 関数宣言での extern キーワードの保持 |
| 固定小数点の演算および 2 のべき乗の乗算には符号付き左シフトを使用する | 2 のべき乗での乗算の符号付きのビット単位左シフトへの置換 |
| 符号付き整数の右シフトを許可 | 生成コードの符号付きビット単位右シフト |
| かっこ | 生成されたコードでのかっこのレベル |
| 識別子の最大の長さ | Maximum number of characters in generated identifiers |
| ヘッダー ガード スタイル | 生成されたコードでのプリプロセッサ命令のスタイル |
| インデント スタイル | 生成されたコードの中かっこの配置スタイル |
| インデント サイズ | インデント レベル単位の文字数 |
| 列の制限 | 生成されたコードの改行の前の最大列数 |
| データ型置換 | 生成コードのデータ型置換 |
| カスタム データ型置換を有効化 | 生成されたコードでのデータ型のカスタム名 |
| 外部ヘッダー ファイルからカスタムの型をインポート | 型定義を外部ヘッダー ファイルからインポートするかどうか |
| ヘッダー ファイル | External header files that contain custom type definitions |
| グローバル変数 | グローバル変数識別子のカスタム識別子の形式 |
| グローバルなタイプ | グローバルなタイプの識別子のカスタム識別子の形式 |
| グローバルなタイプのフィールド名 | グローバルなタイプの識別子のフィールド名に対するカスタム識別子の形式 |
| ローカル関数 | ローカル関数識別子のカスタム識別子の形式 |
| ローカルな一時変数 | ローカルな一時変数識別子のカスタム識別子の形式 |
| 定数のマクロ | 定数マクロ識別子のカスタム識別子の形式 |
| EMX 配列タイプ | EMX 配列型のカスタム識別子の形式 |
| EMX 配列ユーティリティ関数 | EMX 配列ユーティリティ関数のカスタム識別子の形式 |
| 生成されるソース ファイルおよびヘッダー ファイルの名前の形式 | ファイル名のカスタマイズ マクロ |
| コード生成テンプレート ファイル | ファイル バナーおよび関数バナーのコード生成テンプレート |
| 使用するコード形式ツールの選択 | 生成コードの書式設定ツール |
| clang 形式の構成ファイルの使用を制御 | clang-format ファイルの生成の制御 |
| C/C++ コンパイラのデバッグ モードを有効にする | C コンパイラのデバッグ モード |
| 実行時エラー チェックの生成 | Run-time error detection and reporting in generated code |
| 詳細なコンパイラ出力を表示 | Code generation progress display |
| 常にレポートを作成 | コード生成レポート |
| MATLAB との相違点をレポート | Potential differences reporting |
| 潜在的なデータ型の問題を強調表示 | コード生成レポートでの潜在的なデータ型の問題の強調表示 |
| 潜在的な行優先の問題を強調表示 | 行優先のレイアウトによる潜在的な問題 |
| 暗黙的な拡張によって生じる潜在的な問題を強調表示 | Highlight potential implicit expansion issues |
| coder.loop 関数を使用する際の潜在的な問題を強調表示 | Highlight potential loop control issues |
| 静的コード メトリクス レポートの生成 | 静的コード メトリクス レポート |
| コード置換レポートの生成 | コードの置換レポート |
| レポート生成時の自動起動 | コード生成レポートを自動的に開く |
| レポート情報を変数にエクスポート | コード生成レポートの情報を格納する変数の名前 |
| SIL または PIL でソースレベル デバッグを有効にする | SIL または PIL 実行時の生成コードのデバッグ |
| 定数入力をチェック | SIL または PIL 実行の定数入力チェック |
| グローバル データを同期 | SIL または PIL 実行のグローバルなデータ同期モード |
| エントリ ポイント実行プロファイリングを有効にする | SIL または PIL 実行時の実行時間プロファイリング |
| 関数実行プロファイリングを有効にする | SIL または PIL 実行時のエントリポイント関数内で呼び出される関数の実行時間プロファイリング |
| プロファイリング保存オプションの指定 | 実行時間の測定の収集と格納 |
| エントリ ポイント スタック プロファイリングを有効にする | SIL または PIL 実行時のスタック使用量プロファイリング |
| C/C++ コード カバレッジを有効にする | C/C++ コード カバレッジの解析 |
| 実行プロファイリングを有効にする | プロファイリング用インストルメンテーション |
| コード置換ライブラリ | 生成コードのコード置換ライブラリ |
| 組み込み FFTW ライブラリの使用 | MATLAB に付属の FFTW ライブラリを使用するコードを生成 |
| カスタム FFT ライブラリのコールバック | Callback class for FFTW library calls |
| カスタム BLAS ライブラリのコールバック | BLAS コールバック クラス |
| カスタム LAPACK ライブラリのコールバック | LAPACK コールバック クラス |
| プリコンパイルされたライブラリの使用 | 生成されたコードでプリコンパイルされたライブラリを使用するかどうか |
| ソース ファイル | 生成された .c または .cpp ファイルの最上部付近に表示されるコード |
| ヘッダー ファイル | 生成された C/C++ ヘッダー ファイルの最上部に表示されるカスタム コード |
| 初期化関数 | 生成された初期化関数に含めるカスタム コード |
| 終了関数 | 生成された終了関数に表示されるコード |
| 追加インクルード ディレクトリ | 生成コードのコンパイル用にインクルード パスに追加するインクルード フォルダー |
| 追加ソース ファイル | コンパイルして生成コードにリンクするソース ファイル |
| 追加ライブラリ | Static library files to link with the generated code |
| コード生成後のコマンド | ビルド プロセスをカスタマイズするコマンド |
| 予約名 | Names that code generator must not use for functions or variables |
| ハードウェア ボード | ハードウェア ボードの名前 |
| 製品デバイスの詳細: デバイス ベンダー | Manufacturer of production hardware |
| 製品デバイスの詳細: デバイス タイプ | Type of production hardware |
| 製品デバイスの詳細: char | C の char データ型のビット長 |
| 製品デバイスの詳細: short | C の short データ型のビット長 |
| 製品デバイスの詳細: int | C の int データ型のビット長 |
| 製品デバイスの詳細: long | C の long データ型のビット長 |
| 製品デバイスの詳細: long long | C の long long データ型のビット長 |
| 製品デバイスの詳細: float | C の浮動小数点データ型のビット長 |
| 製品デバイスの詳細: double | C の double データ型のビット長 |
| 製品デバイスの詳細: マシン ワード | マイクロプロセッサのネイティブ ワード サイズ |
| 製品デバイスの詳細: ポインター | ポインター データのビット長 |
| 製品デバイスの詳細: size_t | size_t データのビット長 |
| 製品デバイスの詳細: ptrdiff_t | ptrdiff_t データのビット長 |
| 製品デバイスの詳細: バイト順 | データ ワードの最初のバイトの意味 |
| 製品デバイスの詳細: 算術シフトとして符号付き整数を右にシフト | 符号付き整数の右シフトを算術右シフトとして実装 |
| 製品デバイスの詳細: long long を有効にする | long long データ型のサポート |
| 製品デバイスの詳細: 最大 Atomic 整数サイズ | Largest atomic integer size for production hardware |
| 製品デバイスの詳細: 最大 Atomic 浮動小数点サイズ | Largest atomic floating-point size for production hardware |
| 製品デバイスの詳細: 符号付き整数の除算の丸め | 2 つの符号付き整数の除算の丸め |
| ターゲット デバイスの詳細: デバイス ベンダー | Manufacturer of test hardware |
| ターゲット デバイスの詳細: デバイス タイプ | Type of test hardware |
| テスト デバイスの詳細: char | C の char データ型のビット長 |
| テスト デバイスの詳細: short | C の short データ型のビット長 |
| テスト デバイスの詳細: int | C の int データ型のビット長 |
| テスト デバイスの詳細: long | C の long データ型のビット長 |
| テスト デバイスの詳細: long long | C の long long データ型のビット長 |
| テスト デバイスの詳細: float | C の浮動小数点データ型のビット長 |
| テスト デバイスの詳細: double | C の double データ型のビット長 |
| テスト デバイスの詳細: マシン ワード | マイクロプロセッサのネイティブ ワード サイズ |
| テスト デバイスの詳細: ポインター | ポインター データのビット長 |
| テスト デバイスの詳細: size_t | size_t データのビット長 |
| テスト デバイスの詳細: ptrdiff_t | ptrdiff_t データのビット長 |
| テスト デバイスの詳細: バイト順 | データ ワードの最初のバイトの意味 |
| テスト デバイスの詳細: 算術シフトとして符号付き整数を右にシフト | 符号付き整数の右シフトを算術右シフトとして実装 |
| テスト デバイスの詳細: long long を有効にする | long long データ型のサポート |
| テスト デバイスの詳細: 最大 Atomic 整数サイズ | Largest atomic integer size for test hardware |
| テスト デバイスの詳細: 最大 Atomic 浮動小数点サイズ | Largest atomic floating-point size for test hardware |
| テスト デバイスの詳細: 符号付き整数の除算の丸め | 2 つの符号付き整数の除算の丸め |
| ツールチェーン | Toolchain to use for building a C/C++ library or executable program |
| カスタム ツールチェーン オプション | Custom settings for tools in selected toolchain |
| ビルド構成 | Compiler optimization or debug settings for toolchain |
| テスト ハードウェアを製品ハードウェアと同じにする | Equivalence of production and target hardware characteristics |
| C++ 名前空間 | 生成された C++ コードの名前空間の名前 |
| インターフェイス スタイル | Interface style for generated C++ code |
| C++ インターフェイス クラス名 | Interface class name for generated C++ code |
| MATLAB 名前空間から C++ 名前空間を生成 | MATLAB 名前空間に対応する C++ 名前空間の生成 |
| MathWorks コードの名前空間 | Place C++ code generated for MathWorks code in a separate namespace |
| MATLAB クラスから C++ クラスを生成 | MATLAB クラスに対応する C++ クラスの生成 |
| MATLAB 列挙から C++ enum クラスを生成 | Whether to generate C++ enumeration classes for MATLAB enumerations |
| キャスト モード | データ型のキャスト レベル |
| 定数畳み込みのタイムアウト | 定数畳み込みによって実行される命令の最大数 |
| コンパイル時の再帰限界値 | コンパイル時の再帰による関数の特殊化の最大数 |
| 初期化関数を自動的に実行 | Automatically run the initialize function |
| 初期化関数が必要 | 初期化関数の生成 |
| 終了関数が必要 | 終了関数の生成 |
| 既知の MISRA 違反について正当化のコメントを生成 | 既知の MISRA/AUTOSAR 違反を抑制する注釈を追加 |
| main の例の生成 | C/C++ main ファイルの生成例 |
| 変数名の保持 | 生成されたコード内に保持する変数名 |
| 終端のセミコロンなしの式をエコー | 式をエコー |
| makefile の生成 | makefile の生成 |
| 外部呼び出しを自動的に導入 | 自動的な外部関数呼び出し |
| 配列のインデックスを簡略化する | 強度低減の最適化 |
| ベクトルの代入に対する memcpy の使用 | Whether to enable memcpy optimization |
| memcpy しきい値 (バイト) | Minimum size for memcpy or memset
optimization |
| float と double を 0.0 に初期化するために memset を使用 | memset を使用した float と double のゼロの代入 |
| 定数入力 | 定数入力チェック モード |
| MEX のビルド タイプに JIT コンパイルを使用 | Just-In-Time (JIT) コンパイル モード |
| 非有限サポート ファイルを生成 (使用されている場合) | Generate support files for nonfinite data only if nonfinite data is used |
| エントリポイント関数に構造体を参照で渡す | Pass structures by reference |
| switch の default ケースを常に生成する | すべての switch ステートメントの default ケース |
| コードのトレーサビリティを有効にする | コード生成レポートのトレーサビリティ |
| Embedded Coder 機能の使用 | Whether to use Embedded Coder features |
| 暗黙的な拡張を有効にする | 生成コードでの暗黙的な拡張機能 |
| 自動並列化のレポートを有効にする | for ループの自動並列化のレポート作成 |
| 実行時の再帰を有効にする | Run-time recursion support |
| 動的な配列データをキャッシュ | 動的な配列の最適化 |
| SIL/PIL の詳細 | SIL または PIL 実行時の通信の I/O 情報の表示 |
| SIL/PIL プロファイリング メトリクス | PMU metric |
オブジェクト
coder.MexCodeConfig | MATLAB からの MEX 関数生成用構成パラメーター |
coder.CodeConfig | MATLAB コードから C/C++ コードを生成するための構成パラメーター |
coder.EmbeddedCodeConfig | Embedded Coder で MATLAB コードから C/C++ コードを生成するための構成パラメーター |
coder.HardwareImplementation | MATLAB コードから C/C++ コードを生成するためのハードウェア固有の構成パラメーター |
coder.hardware | MATLAB コードから C/C++ コード生成用ハードウェア ボード構成オブジェクトを作成します。 |
coder.ReplacementTypes | C/C++ コード生成における MATLAB 組み込みデータ型のカスタム名を指定する構成パラメーター。 |
トピック
ビルド構成の基礎
- コード生成およびビルド設定の構成
コード生成およびビルド構成パラメーターをコマンド ラインまたは MATLAB® Coder™ アプリで構成する。 - パスとファイル構造の設定
カスタム コードの場所を指定します。 - Build Process Support for File and Folder Names
Troubleshoot build process errors that occur when file system issues prevent file processing. - ビルド構成設定の共有
プロジェクト設定をコード生成構成オブジェクトにエクスポートするか、設定をプロジェクトにインポートします。 - Specify Code Configuration Parameters Interactively
Configure the code generation process by using the Code Generation Settings dialog box.
特定のビルド オプション
- 生成コードの分割についての理解と制御
生成コードの分割を制御するためにファイルの分割方法とインライン化の設定がどのように連携するかを理解する。 - コード生成に使用する言語標準の変更
コード ジェネレーターはビルド設定で指定する言語標準を使用します。
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)