生成される C/C++ コードにコメントを含める
このチュートリアルについて
学習目的
このチュートリアルでは以下を含むコードの生成方法について説明します。
関数バナーの形式の関数シグネチャと関数のヘルプ テキスト。
トレーサビリティ タグを含むコメントの形式の MATLAB® ソース コード。コード生成レポートでは、トレーサビリティ タグが対応する MATLAB ソース コードにリンクしています。
前提条件
このチュートリアルを実行するには、以下の製品が必要です。
MATLAB
MATLAB Coder™
Embedded Coder®
C コンパイラ
サポートされているコンパイラのリストについては、サポートされるコンパイラを参照してください。
MATLAB ソース ファイルの作成
書き込み可能なフォルダーに、以下のコードを含む MATLAB ソース ファイル polar2cartesian.m
を作成します。
function [x y] = polar2cartesian(r,theta) %#codegen % Convert polar to Cartesian x = r * cos(theta); y = r * sin(theta);
ビルド パラメーターの構成
coder.EmbeddedCodeConfig
コード生成構成オブジェクトを作成し、以下のプロパティを true
に設定します。
GenerateComments
。生成されるコードでコメントを有効にします。MATLABSourceComments
。トレーサビリティ タグを含むコメントとして MATLAB ソース コードを生成します。コード生成レポートでは、タグが対応する MATLAB コードにリンクしています。このプロパティがtrue
の場合、コード ジェネレーターによって関数バナーで関数シグネチャも生成されます。MATLABFcnDesc
。関数バナーで関数のヘルプ テキストを生成します。
cfg = coder.config('lib', 'ecoder', true); cfg.GenerateComments = true; cfg.MATLABSourceComments = true; cfg.MATLABFcnDesc = true;
C コードの生成
C コード生成するには、関数 codegen
を呼び出します。次のオプションを設定します。
-config
: コード生成構成オブジェクトcfg
を渡します。-report
: コード生成レポートを作成します。-args
: 入力パラメーターのクラス、サイズおよび実数/複素数を指定します。
codegen -config cfg -report polar2cartesian -args {0, 0}
codegen
によって、C のスタティック ライブラリ polar2cartesian.lib
および C コードが /codegen/lib/polar2cartesian
サブフォルダーに生成されます。レポートの生成を選択したため、codegen
によってレポートへのリンクが提供されます。
生成された C コードの表示
コード生成レポートで、生成されたコードを表示します。
コード生成レポートを開くには、
[レポートの表示]
をクリックします。[Generated Code] ペインで、
polar2cartesion.c
をクリックします。生成されたコードには次が含まれます。
関数バナーの形式の関数シグネチャと関数のヘルプ テキスト。
生成された C/C++ コードに対応する MATLAB ソースを含むコメント。コメントには元の MATLAB コードにリンクするトレーサビリティ タグが含まれます。
生成される関数バナーもコード生成テンプレート (CGT) ファイルに応じて異なります。既定の CGT の場合、コード ジェネレーターでは関数バナーに引数に関する情報が配置されます。関数バナーは CGT を変更することでカスタマイズできます。Generate Custom File and Function Banners for C/C++ Codeを参照してください。
生成されたコードから MATLAB コードへのトレース
トレーサビリティ タグは、生成されたコードから元の MATLAB コードにトレースするのに役立つ情報とリンクを提供します。たとえば、コード x = r * cos(theta);
の前にあるトレーサビリティ タグをクリックします。
レポートで polar2cartesian.m
が開き、4 行目が強調表示されます。
MATLAB ソース コードと生成された C/C++ コードを隣り合わせで表示し、それらを対話形式でトレースするには、レポートで [コードのトレース] をクリックします。Interactively Trace Between MATLAB Code and Generated C/C++ Codeを参照してください。