このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
Typedef
typedef
ステートメントを生成してデータ型エイリアスを作成します。
C コンストラクター
typedef float float_32;
手順
Simulink® でデータ型エイリアスを作成するには、Simulink.AliasType
を使用します。コード ジェネレーターによって生成されたコードに typedef
ステートメントが作成されます。
組み込みの Simulink データ型 single
は、C データ型 float
に対応します。
1. コマンド プロンプトで、single
のエイリアスを表す float_32
という名前の Simulink.AliasType
オブジェクトを作成します。
float_32 = Simulink.AliasType('single');
2. モデル例 ex_typedef
を開きます。
3. モデル データ エディターで、[入力端子/出力端子] タブを開きます。
4. [ビューの変更] メニューから [Design]
を選択します。
5. モデルで Inport ブロックを選択します。
6. モデル データ エディターで、Inport ブロック用に [データ型] を float_32
に設定します。float_32
がドロップ ダウン オプションにない場合は、[Refresh data type]
をクリックします。
7. Embedded Coder アプリを開きます。
8. [C コード] タブで、[コード インターフェイス]、[個々の要素コードのマッピング] を選択します。
9. コード マッピング エディターの [入力端子] タブで、Inport ブロックの [ストレージ クラス] を ExportedGlobal
に設定します。Inport ブロックが生成コード内に別のグローバル変数として表示されます。
10. プロパティ インスペクターで、Inport ブロック用に [コード]、[識別子] プロパティを mySig
に設定します。
11.モデルをビルドしてコードを生成するには、Ctrl+B を押します。
結果
生成されたヘッダー ファイル ex_typedef.h
はデータ型エイリアス float_32
を定義します。
#ifndef DEFINED_TYPEDEF_FOR_float_32_ #define DEFINED_TYPEDEF_FOR_float_32_ typedef real32_T float_32; #endif
既定では、コード ジェネレーターは、C データ型 float
に対応するエイリアス real32_T
も作成します。生成されたヘッダー ファイル rtwtypes.h
で typedef
ステートメントを確認できます。
typedef float real32_T;
生成されたソース ファイル ex_typedef.c
は float_32
を使用してグローバル変数 mySig を定義します。
/* Exported block signals */ float_32 mySig; /* '<Root>/In1' */