Main Content

コードの編成と形式のカスタマイズ

カスタム ファイル処理 (CFP) ツールで生成コードの編成と形式をカスタマイズできます。これらのツールでは次のことが可能です。

  • ソース (.cまたは.cpp) ファイルまたはヘッダー (.h) ファイルを生成する。モデルの[コード インターフェイスのパッケージ化][再利用可能な関数]または[再利用できない関数]([C++ クラス]以外) に設定している場合、"カスタム ファイル処理テンプレート"を使用してコード ジェネレーターの次の処理を制御できます。

    • 標準の生成ファイル (model.cまたは.cppmodel.h) へのコードの出力

    • モデル コードに依存しないファイルの生成

  • 生成コードをセクション (インクルード、typedef、関数など) に編成する。CFP テンプレートでは、コード (関数など)、命令 (#defineステートメントや#includeステートメントなど)、またはコメントを各セクションに出力できます。

  • 生成コード ファイルの最初と最後にカスタムの "ファイル バナー"(コメント セクション)、生成コードの関数の前にカスタムの "関数バナー"を生成する。

  • model_initializemodel_stepなどのモデル関数を呼び出すコードを生成する。

  • モデルの入力および出力の読み取りと書き込みを行うコードを生成する。

  • メインプログラムモジュールを生成する。

  • モデルや生成ファイルに関する情報をモデルから取得する。

カスタム ファイル処理のコンポーネント

カスタム ファイル処理の機能は、相互に関連する次のコンポーネントに基づきます。

  • コード生成テンプレート (CGT) ファイル: CGT ファイルでは、生成コードの最上位の編成と形式を定義します。Code Generation Template (CGT) Filesを参照してください。

  • コード テンプレート API: 高水準の Target Language Compiler (TLC) API であり、生成されるソース ファイルとヘッダー ファイルの指定のセクションやサブセクションにコードを編成できる関数が用意されています。コード テンプレート API には、生成ファイルに関する情報を返したり、標準のモデル呼び出しを生成したり、他の関数を実行したりするユーティリティもあります。Code Template API Summaryを参照してください。

  • カスタム ファイル処理 (CFP) テンプレート: CFP テンプレートは、カスタム コード生成プロセスを管理する TLC ファイルです。CFP テンプレートでは、生成するコードをバッファー内に組み立てます。さらに、CFP テンプレートでは、生成されるソース ファイルとヘッダー ファイルの指定のセクションにバッファー コードを出力するコード テンプレート API も呼び出します。CFP テンプレートは CGT ファイルと連携し、生成コードの主要なセクションの順序を定義します。Custom File Processing (CFP) Templatesを参照してください。

CFP テンプレートを使用するには、TLC プログラミングを理解しなければなりません。詳細については、Target Language Compilerを参照してください。

カスタム ファイル処理の構成

生成コードをカスタマイズするには、[コード生成]、[テンプレート]ペインでコードとデータのテンプレートを指定します。

目的 アクション
生成されるソース コード (.cまたは.cpp) ファイルの最上位の編成と形式を定義するテンプレートを指定する [ソース ファイル (*.c) テンプレート]パラメーターにコード生成テンプレート (CGT) ファイルを入力します。
生成されるヘッダー (.h) ファイルの最上位の編成と形式を定義するテンプレートを指定する [ヘッダー ファイル (*.h) テンプレート]パラメーターに CGT ファイルを入力します。このテンプレート ファイルは、[ソース ファイル テンプレート (*.c)]に指定するテンプレート ファイルと同じにすることもできます。同じテンプレート ファイルを使用すると、ソース ファイルとヘッダー ファイルに同一のバナーが含まれます。既定のテンプレートはmatlabroot/toolbox/rtw/targets/ecoder/ert_code_template.cgtです。
生成コードをセクション (インクルード、typedefs、関数など) に編成するテンプレートを指定する File customization templateパラメーターにカスタム ファイル処理 (CFP) テンプレート ファイルを入力します。CFP テンプレートでは、コード、命令、またはコメントを各セクションに出力できます。詳細については、Custom File Processing (CFP) Templatesを参照してください。
モデル固有のメイン プログラム モジュール例を生成する [メイン プログラム例の生成]を選択します。詳細については、Generate a Standalone Programを参照してください。

メモ

指定するテンプレート ファイルは MATLAB®パスに配置します。