Main Content

コード生成の型エディターを使用した入力の型の作成と編集

C/C++ ソース コードには、すべての変数について型宣言が含まれています。MATLAB® コードには、明示的な型宣言はありません。C/C++ コードの生成で特定の型を使用するには、MATLAB のエントリポイント関数に対するすべての入力変数のプロパティ (クラス、サイズ、実数/複素数) を C/C++ コードまたは MEX コードの生成時に指定しなければなりません。"エントリポイント関数" は、コードを生成する最上位の MATLAB 関数です。コード ジェネレーターは、それらの入力プロパティを使用して、生成コードに含まれるすべての変数のプロパティを決定します。入力の型の指定が異なっていると、同じ MATLAB コードから異なるバージョンの生成コードが生成されることがあります。

C/C++ または MEX コードをコマンド ラインで生成する場合、入力引数のプロパティを指定する方法の 1 つとして、引数のクラス、サイズ、実数/複素数 (および場合によってはその他のプロパティ) に関する情報を含む coder.Type オブジェクトの使用が挙げられます。coder.Type オブジェクトは、コマンド ラインを使用してプログラムにより、あるいはコード生成の型エディターを使用して対話形式で作成および編集できます。

コマンド ラインによる coder.Type オブジェクトの作成の詳細については、coder.typeof および coder.newtype を参照してください。

メモ

構造体や cell 配列などの複合型、あるいは embedded.fi などのカスタマイズ可能なパラメーターが多数ある型を作成および編集するには、コード生成の型エディターを使用します。このような型の例については、このトピックで後述します。

コード生成の型エディターを開く

コード生成の型エディターを開くには、次のいずれかを行います。

  • coderTypeEditor コマンドを使用して、空の型エディターを開きます。

    coderTypeEditor
  • 次のように入力して、ワークスペース変数 var1var2 および var3 に対応する coder.Type オブジェクトが事前に設定された型エディターを開きます。

    coderTypeEditor var1 var2 var3
  • ベース MATLAB ワークスペースに既に存在する coder.Type オブジェクト myType を開きます。

    • ワークスペース内の myType をダブルクリックします。

    • コマンド ラインで myType を表示し、表示の最後に示される Edit Type Object リンクをクリックします。

    • MATLAB コマンド ラインで次のコマンドを使用します。

      open myType

一般的なエディター アクション

型エディターのツールストリップ ボタンを使用して、次のアクションを実行できます。

  • [新しい型] をクリックし、coder.Type オブジェクトの型、サイズ、実数/複素数およびその他のプロパティを指定して、新しい型を作成する。

  • [変数から] をクリックし、ベース ワークスペースに既に存在する変数を指定して、既存の変数を型に変換する。

  • [例から] をクリックし、coder.Type オブジェクトに変換する MATLAB コードを入力して、例の値から新しい型を作成する。

  • [すべて読み込み] をクリックして、ベース ワークスペースのすべての coder.Type オブジェクトを型エディターの [型ブラウザー] ペインに読み込む。

  • [型ブラウザー] で既存の型を選択し、そのプロパティを変更して、既存の型を編集する。

  • [すべて保存] をクリックして、型エディターですべての coder.Type オブジェクトを保存する。

  • [削除] をクリックして、[型ブラウザー] から選択した型を削除する。あるいは、[削除][すべて削除] をクリックして、[型ブラウザー] からすべての型を削除する。coder.Type オブジェクトを [型ブラウザー] から削除しても、そのオブジェクトはベース MATLAB ワークスペースからは削除されません。

  • [共有][MATLAB スクリプト] をクリックして、すべての型を再作成するためのコードを含む MATLAB スクリプトをエクスポートする。または、[共有][MAT ファイル] をクリックして、すべての型を含む MAT ファイルを作成する。

  • Undo and redo ボタンを使用して、型エディターで直前に行ったアクションを元に戻したりやり直したりする。

コード生成の型エディターで実行できるアクションには他にも次のようなものがあります。

  • [型ブラウザー] ペインと [型のプロパティ] ペインの両方で、type オブジェクトをコピーして、新しい型または既存の構造体型のフィールドとして貼り付ける。既存の型のプロパティを別の既存の型にコピーすることも可能。

  • 構造体型のフィールドの順序を変更する。プロパティ ペインに型を表示してドラッグ アンド ドロップ アクションを使用する。

[型ブラウザー] ペイン

[型ブラウザー] ペインには、型エディターに現在読み込まれている coder.Type オブジェクトの名前、クラス、サイズが表示されます。構造体、cell 配列、クラスなどの複合型の場合は、[型ブラウザー] ペインで code.Type オブジェクトの表示を展開できます。展開ビューには、複合型の個々のフィールドまたはプロパティの名前、クラス、実数/複素数が表示されます。

Type Browser pane, showing the type objects aType, bType, and cType. bType and cType are composite objects.

[型ブラウザー] の視覚的なインジケーター

インジケーター説明
展開アイコン型には、展開アイコンをクリックすることで表示できるフィールドやプロパティがあります。
{:}同種 cell 配列 (すべての要素のプロパティは同じになります)。
{n}異種混合 cell 配列の n 番目の要素。
:n上限が n の可変サイズの次元。
:inf制限なしの可変サイズの次元。

[型のプロパティ] ペイン

[型のプロパティ] ペインには、[型ブラウザー] で現在選択されている coder.Type オブジェクトのクラス (データ型)、サイズ、その他のプロパティが表示されます。構造体やクラスなどの複合型の場合、このペインには、各構成フィールドまたはプロパティの名前、クラス、サイズも表示されます。

所定のフィールドの名前、クラス、サイズを編集するには、その項目をダブルクリックします。

Close-up of the "Fields" section of the Type Properties pane, showing a the f1 field selected for editing

あるいは、フィールドをクリックします。型エディター ペインのビューが変化して、そのフィールドのプロパティが表示されます。ペインで名前、クラス (データ型)、サイズ、その他のプロパティを編集します。

Pane displaying the properties of the f1 field of the bType variable

階層リンクには、[型のプロパティ] ペインで現在開いているフィールドへの入れ子になったパスが表示されます。階層リンク内のフィールドをクリックすると、ペインにそのフィールドが表示されます。階層リンクで型の名前を直接編集することもできます。

Variable bType selected for editing

[MATLAB コード] ペイン

[MATLAB コード] ペインには、[型ブラウザー] で現在選択されている coder.Type オブジェクトを作成する MATLAB スクリプトが表示されます。この型の作成を自動化するには、このスクリプトをコピーしてビルド スクリプトに含めます。

MATLAB code pane showing a script that can be used to recreate fields f1, f2, and f2 of variable bType

参考

| | |

関連するトピック