Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

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.htypedef ステートメントを確認できます。

typedef float real32_T;

生成されたソース ファイル ex_typedef.cfloat_32 を使用してグローバル変数 mySig を定義します。

/* Exported block signals */
float_32 mySig;                        /* '<Root>/In1' */

参考

関連するトピック