生成された C++ コードの展開
チュートリアルのこのステップでは、生成されたコードを展開するメカニズムについて確認します。
メイン プログラム例
生成されたコードの展開を容易にするために、コード ジェネレーターでは、開始時にすぐに利用できる main
プログラム例が生成されます。main
プログラム例はファイル ert_main.cpp
にあります。アプリケーション用に生成された C++ クラスとモデルのエントリポイント関数を使用するには、ert_main.cpp
で定義されている不完全な関数をコピーし、カスタムのスケジューリング コードを挿入して関数を完成します。
モデル CppClassWorkflowKeyIgnition
に対して生成された main
プログラム例を確認します。
まだ開いていない場合は、モデル
CppClassWorkflowKeyIgnition
のコピーを開きます。アプリ ギャラリーで [Embedded Coder] をクリックします。
コードを再度生成します。
[コード] ビューで、ファイル
ert_main.cpp
を選択します。[検索] フィールド内をクリックし、関数
rt_OneStep
を選択します。不完全なラッパー関数
rt_OneStep
を確認します。この関数は、モデルの実行エントリポイント関数step0
を呼び出します。アプリケーション コードでrt_OneStep
を呼び出し、各実行サイクル中にモデルのアルゴリズムを実行します。[検索] フィールド内をクリックし、関数
main
を選択します。不完全な
main
関数の例を確認します。この関数では、rt_OneStep
およびモデルの他のエントリポイント関数をアプリケーション コードで呼び出す際の順序とコンテキストが定義されています。
生成コード ファイルの概要
コード ジェネレーターにより、MATLAB® の現在のフォルダーに生成コード ファイル用の 2 つのフォルダーが作成されます。
slprj
CppClassWorkflowKeyIgnition_ert_rtw
slprj/ert/_sharedutils
フォルダーには、複数のモデルで共有される生成ファイルが格納されます。このフォルダーには、生成されたコードで既定で使用される標準のデータ型を定義する rtwtypes.h
ファイルが含まれます。
CppClassWorkflowKeyIgnition_ert_rtw
フォルダーには、生成されたコードのモデル固有のファイルが格納されます。主なファイルは CppClassWorkflowKeyIgnition.cpp
と CppClassWorkflowKeyIgnition.h
の 2 つです。
生成されたコード ファイルの移動
Embedded Coder® には、モデルの静的なコード ファイルと生成されたコード ファイルを別の開発環境に移動するための packNGo ユーティリティが用意されています。このユーティリティでは、ファイルは圧縮ファイルとしてパッケージ化され、移動先では標準 zip
ユーティリティを使って解凍することができます。グラフィカル インターフェイスやプログラミング インターフェイスから packNGo ユーティリティを適用できます。
詳細については、生成コードの移動または共有を参照してください。
コード生成レポートの共有とアーカイブ
クイック スタート ツールでは、HTML コード生成レポートを生成するようにモデルが設定されます。モデルとコードに関する情報の概要に加え、レポートには次が含まれます。
サブシステム レポート
コード インターフェイス レポート
トレーサビリティ レポート
静的なコード メトリクス レポート
コード置換レポート
コード生成の前提
生成コード ファイル
オプションで、モデルの Web ビュー
このレポートは、Simulink® 環境以外で使用できるため、共有またはアーカイブ目的に適しています。レポートはツールから開くか、[C++ コード] タブで [レポートを開く] をクリックして開くことができます。
既定の設定では、コード生成レポート ファイルの場所はビルド フォルダー
のサブフォルダー model
_target
_rtw/html/html
です。
は、[コード生成] ペインで指定された [システム ターゲット ファイル] の名前になります。最上位の HTML レポート ファイルの既定名は、target
index.html
です。