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 Code for an Applicationを参照してください。

メモ

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