Changes between Initial Version and Version 1 of CDLref_preface


Ignore:
Timestamp:
Jan 16, 2016, 9:57:02 PM (8 years ago)
Author:
okuma-top
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • CDLref_preface

    v1 v1  
     1== 前置部 ==
     2
     3型定義など、前方参照できないため、参照される前に記述する必要があります。
     4
     5概ね CDL ファイルの始めの部分に記述されるため前置部と呼びます。
     6
     7前置部には、以下のものを記述することができます。
     8
     9 * [#import_C C 言語ヘッダのインポート(import_C)]
     10 * [#import CDL ファイルのインポート(import)]
     11 * [#typedef 型定義(typedef)]
     12 * [#struct 構造体(struct)]
     13 * [#enum 列挙 (enum)]
     14 * [#const 定数(const)]
     15
     16=== [=#import_C] C 言語ヘッダのインポート(import_C) ===
     17
     18C 言語で記述したヘッダファイルをインポートするには import_C を用います。
     19
     20【記述例】
     21
     22   {{{
     23      import_C( "my_header.h" );
     24   }}}
     25
     26実際に取り込まれるのは、型定義 (typedef) だけです。
     27
     28マクロ定義 (#define) を含め、その他の記述は、取り込まれません。
     29
     30【注意】 マクロ定義の参照には C_EXP を用いる。セルタイプの属性の項を参照。
     31
     32【注意】 C++ 言語のヘッダファイルを取り込むことは、できない。
     33
     34=== [=#import] CDL ファイルのインポート(import) ===
     35
     36CDl ファイルをインポートするには import を用います。
     37
     38CDL ファイルを再利用する部分と、アプリケーション固有の部分に分けて記述する場合や、
     39CDL ファイルを分割して記述したい場合に用います。
     40
     41再利用する部分の CDL ファイルをインポートするには、以下のように記述します。
     42
     43【記述例】
     44
     45   {{{
     46      import( <reusable.cdl> );
     47   }}}
     48
     49【補足】この場合、resuable.cdl 内に記述されたセルタイプは、すでに作成済とみなされ、TECS ジェネレータはテンプレートファイルを生成しない。
     50
     51CDL ファイルを分割して記述したい場合は、以下のように記述します。
     52
     53【記述例】
     54
     55   {{{
     56      import( "appl.cdl" );
     57   }}}
     58
     59【補足】この場合 appl.cdl 内に記述されたセルタイプは、開発中とみなされ、TECS ジェネレータはテンプレートコードを生成する。
     60
     61=== [=#typedef] 型定義(typedef) ===
     62
     63型定義は、C 言語と同様です。
     64
     65【記述例】
     66
     67   {{{
     68      typedef  double64_t LengthM;
     69      typedef  double64_t WeightKg;
     70      typedef  int64_t    size64_t;
     71   }}}
     72
     73=== [=#struct] 構造体(struct) ===
     74
     75構造体のタグとメンバーの記述は、C 言語と同様です。
     76
     77【記述例】
     78
     79   {{{
     80      struct tag {
     81        int8_t  count;
     82      };
     83   }}}
     84
     85【補足】構造体変数を定義することはできません。
     86
     87=== [=#enum] 列挙 (enum) ===
     88
     89【注意】実装されていません。
     90
     91=== [=#const] 定数(const) ===
     92
     93定数は、C 言語の定数と同様に記述します。
     94
     95【記述例】
     96
     97  {{{
     98     const double64_t PI = 3.14159265;
     99  }}}
     100
     101定数は、CDL ファイル内の式を記述するところで参照できます。
     102
     103【補足】TECS ジェネレータは、定数を global_tecsgen.h のマクロとして出力する。
     104
     105
     106-----
     107[TECS リファレンスマニュアル [wiki:  トップページ]]・
     108[TECS CDL リファレンスマニュアル [wiki:CDLref トップページ]・[wiki:CDLref_index 目次]]