データ型置換のカスタマイズ
MATLAB® コードから C/C++ コードを生成する際、生成コードで組み込みの C データ型を使用するか MathWorks® の typedef を使用するかを [データ型置換] オプションで指定できます。コード生成では、double
、single
、uint8
、uint16
、uint32
、uint64
、int8
、int16
、int32
、int64
、char
、および logical
の各データ型について、カスタム名への変更がサポートされます。
[データ型置換] オプションは、[コード生成] ウィンドウ ([詳細設定]) の [コード外観] タブにあります。次のオプションのいずれかを選択できます。
生成されたコードで組み込みの C データ型を使用
生成されたコードで MathWorks の typedef を使用
メモ
コード ジェネレーターは、生成されたコード内で可変サイズの文字配列を char*
型 string に置き換えません。
Embedded Coder® がインストールされている場合、生成される C/C++ コードで使用する MATLAB 組み込みデータ型のカスタム名を指定できます。たとえば、double
を Custom_Double
にカスタマイズできます。
MATLAB Coder アプリを使用したカスタム データ型名の指定
MATLAB データ型のカスタム名を指定するには次のようにします。
MATLAB Coder™ アプリを開きます。
[コード生成] ステップに進みます。
[詳細設定] をクリックします。
[コード外観] タブで、[カスタム データ型の置換] にある [カスタム データ型の置換を有効化] を選択します。
サポートされるデータ型の名前が表にリストされます。それらのデータ型のカスタム名を指定し、Enter キーを押します。生成コードの組み込みのデータ型名が指定したカスタム名に置き換わります。カスタム名を指定しない場合、コード ジェネレーターで既定の名前が使用されます。
コマンド ライン インターフェイスを使用したカスタム データ型名の指定
codegen
を使用してコードを生成する場合は、Embedded Coder 構成オブジェクトで EnableCustomReplacementTypes
プロパティと ReplacementTypes
プロパティを使用します。
コードを生成できる MATLAB 関数を記述します。この例では、入力の合計を返す関数
myAdd
を使用します。function c = myAdd(a,b) c = a + b; end
スタティック ライブラリ生成用のコード構成オブジェクトを作成します。
cfg = coder.config('lib','ecoder',true);
EnableCustomReplacementTypes
プロパティをtrue
に設定します。cfg.EnableCustomReplacementTypes = true;
データ型のカスタム名を指定します。ここでは、組み込みのデータ型名
uint8
をCustom_Uint8
にカスタマイズします。cfg.ReplacementTypes.uint8 = "Custom_Uint8";
codegen
と-config
オプションを使用してコードを生成します。codegen myAdd.m -args {1,uint8(1)} -config cfg -report