== 前置部 == 型定義など、前方参照できないため、参照される前に記述する必要があります。 前置部には、以下のものを記述することができます。 * [#import_C C 言語ヘッダのインポート(import_C)] * [#import CDL ファイルのインポート(import)] * [#typedef 型定義(typedef)] * [#struct 構造体(struct)] * [#enum 列挙 (enum)] * [#const 定数(const)] === [=#import_C] C 言語ヘッダのインポート(import_C) === C 言語で記述したヘッダファイルをインポートするには import_C を用います。 【記述例】 {{{ import_C( "my_header.h" ); }}} 実際に取り込まれるのは、型定義 (typedef) だけです。 マクロ定義 (#define) を含め、その他の記述は、取り込まれません。 【注意】 マクロ定義の参照には C_EXP を用いる。セルタイプの属性の項を参照。 【注意】 C++ 言語のヘッダファイルを取り込むことは、できない。 === [=#import] CDL ファイルのインポート(import) === CDl ファイルをインポートするには import を用います。 CDL ファイルを再利用する部分と、アプリケーション固有の部分に分けて記述する場合や、 CDL ファイルを分割して記述したい場合に用います。 再利用する部分の CDL ファイルをインポートするには、以下のように記述します。 【記述例】 {{{ import( ); }}} 【補足】この場合、resuable.cdl 内に記述されたセルタイプは、すでに作成済とみなされ、TECS ジェネレータはテンプレートファイルを生成しない。 CDL ファイルを分割して記述したい場合は、以下のように記述します。 【記述例】 {{{ import( "appl.cdl" ); }}} 【補足】この場合 appl.cdl 内に記述されたセルタイプは、開発中とみなされ、TECS ジェネレータはテンプレートコードを生成する。 === [=#typedef] 型定義(typedef) === 型定義は、C 言語と同様です。 【記述例】 {{{ typedef double64_t LengthM; typedef double64_t WeightKg; typedef int64_t size64_t; }}} === [=#struct] 構造体(struct) === 構造体のタグとメンバーの記述は、C 言語と同様です。 【記述例】 {{{ struct tag { int8_t count; }; }}} 【補足】構造体変数を定義することはできません。 === [=#enum] 列挙 (enum) === 【注意】実装されていません。 === [=#const] 定数(const) === 定数は、C 言語の定数と同様に記述します。 【記述例】 {{{ const double64_t PI = 3.14159265; }}} 定数は、CDL ファイル内の式を記述するところで参照できます。 【補足】TECS ジェネレータは、定数を global_tecsgen.h のマクロとして出力する。 ----- [TECS リファレンスマニュアル [wiki: トップページ]]・ [TECS CDL リファレンスマニュアル [wiki:CDLref トップページ]・[wiki:CDLref_index 目次]]