テンプレートを使用した生成コード ファイルの形式の設定
この例では、コード生成テンプレート (.cgt ファイル) を使用して、カスタム コード バナーの追加、データと関数の再配置、および生成コード ファイルへの追加コード セグメントやドキュメンテーションの挿入または削除を行う方法を説明します。コード生成テンプレートは、生成されたコードに一貫したレイアウトと外観を適用することで、組織のコーディング標準を満たすのに役立ちます。
Embedded Coder® は、既定のコード テンプレート ファイルを以下で提供しています。
matlabroot/toolbox/rtw/targets/ecoder/ert_code_template.cgt
このファイルに基づいてカスタム テンプレートを作成して MATLAB® パスに保存します。[モデル コンフィギュレーション パラメーター] ダイアログ ボックスの [コード生成]、[テンプレート] ペインでテンプレートを指定します。コードを生成すると、コード ジェネレーターは指定のテンプレートをインポートします。
既定のコード生成テンプレートの使用
モデル例 CodeTemplate を開きます。
model='CodeTemplate';
open_system(model)
モデルが既定のコード生成テンプレートを使用していることを確認します。
[コンフィギュレーション パラメーター] ダイアログ ボックスで、[コード生成]、[テンプレート] ペインを開きます。
[コード テンプレート] セクションで、[ソース ファイル テンプレート] フィールドが
ert_code_template.cgtに設定されていることを確認します。[ソース ファイル テンプレート] の横の [編集] ボタンをクリックします。
ert_code_template.cgtテンプレートが MATLAB コマンド ウィンドウで開きます。コード テンプレートを検査します。

コードを生成します。[C コード] タブで、[ビルド] をクリックします。
evalc('slbuild(model)');CodeTemplate.c を開いて生成されたコードを検証します。
file = fullfile("CodeTemplate_ert_rtw","CodeTemplate.c"); coder.example.extractLines(file,"File: CodeTemplate.c","*/",1,1)
* File: CodeTemplate.c * * Code generated for Simulink model 'CodeTemplate'. * * Model version : 14.0 * Simulink Coder version : 26.1 (R2026a) 20-Nov-2025 * C/C++ source code generated on : Sun Jan 25 21:00:46 2026 * * Target selection: ert.tlc * Embedded hardware selection: Intel->x86-64 (Windows64) * Code generation objectives: Unspecified * Validation result: Not run */
コード生成テンプレートの指定
ソース ファイル テンプレート rtwdemocodetemplate.cgt を指定します。このテンプレートは、DocBlock ブロックの Abstract および [モデル プロパティ] ダイアログ ボックスの [モデルの説明] タブからテキストを抽出します。
[コード テンプレート] セクションの [ソース ファイル テンプレート] フィールドに「rtwdemocodetemplate.cgt」と入力します。
set_param(model,ERTSrcFileBannerTemplate="rtwdemocodetemplate.cgt");[ソース ファイル テンプレート] の横の [編集] ボタンをクリックします。rtwdemocodetemplate.cgt テンプレートが MATLAB コマンド ウィンドウで開きます。コード テンプレートを検査します。
コードを生成します。[C コード] タブで、[ビルド] をクリックします。
evalc('slbuild(model)');CodeTemplate.c ファイルを開いて生成されたコードを検証します。Abstract ブロックおよび [モデル プロパティ] ダイアログ ボックスのテキストは、それぞれ ABSTRACT と MODEL INFORMATION の見出しの下にあるカスタム ファイル バナー内に表示されます。
file = fullfile("CodeTemplate_ert_rtw","CodeTemplate.c"); coder.example.extractLines(file,"FILE INFORMATION:","additional code segments",1,1)
* FILE INFORMATION: * File name: CodeTemplate.c * C source code generated on : Sun Jan 25 21:00:52 2026 * * ABSTRACT: * This text maps to the code template %<Abstract> symbol. * * NOTES: * * * MODEL INFORMATION: * Model Name: CodeTemplate * Model Version: 14.0 * Model Description: Formatting Generated Files with Templates * * This example shows how to use code generation templates to add * custom code banners, rearrange data and functions, and insert * additional code segments and documentation into generated code files.
コード生成テンプレートの変更
生成されたコード内のカスタム ファイル バナーには、コード生成のタイムスタンプが表示されます。継続的インテグレーション システムを使用している場合は、コメントの軽微な変更がなければソース管理へのファイルのチェックインが効率化することがあるため、この情報を削除すると役立つ場合があります。
タイムスタンプを削除するために、ソース ファイル テンプレートを変更します。rtwdemocodetemplate.cgt ファイルを開き、次の行を削除します。
C source code generated on : %<SourceGeneratedOn>
!sed -i '15d' rtwdemocodetemplate.cgtファイル rtwdemocodetemplate.cgt を保存します。
モデル キャッシュ ファイルおよび slprj プロジェクト ディレクトリを削除します。次に、コードを再生成します。
delete *.slxc; rmdir slprj s; evalc('slbuild(model)');
CodeTemplate.c ファイルを開き、タイムスタンプが表示されなくなっていることを確認します。
coder.example.extractLines(file,"FILE INFORMATION:","additional code segments",1,1)
* FILE INFORMATION: * File name: CodeTemplate.c * * ABSTRACT: * This text maps to the code template %<Abstract> symbol. * * NOTES: * * * MODEL INFORMATION: * Model Name: CodeTemplate * Model Version: 14.0 * Model Description: Formatting Generated Files with Templates * * This example shows how to use code generation templates to add * custom code banners, rearrange data and functions, and insert * additional code segments and documentation into generated code files.