Applistar

7. 3. 5 構造記述の記述スタイル

  7. 3. 5 構造記述の記述スタイル  

7. 3. 5 構造記述の記述スタイル

7. 3. 5. 1 モジュールの配置

モジュールのインスタンス名はモジュール名と同じものを使わない(必要)

2 階層以上の場合は次のような文法誤りとなります。

simple.h: At global scope:
simple.h:29: error: declaration of `box*fox::box'
simple.h:7: error: changes meaning of `box' from `struct box'
simple.h:30: error: syntax error before `*' token

この例は「階層モジュール」の項目で使った例の box1 を box と いう名前に変えて make した時のものです。

7. 3. 5. 2 モジュールをポインタ指定で配置

サブモジュールの配置をポインタで宣言している

トレースのときに階層参照が面倒になる

サブモジュールの配置をポインタで宣言している時には、コンストラクタにサブモジュールの初期化を書かない
端子の接続に使用しているモジュールのインスタンス名が直前に実体宣言したものと一致していない

コンパイラのメッセージでは判別困難

サブモジュールをポインタ宣言を使わずに配置する時には、コンストラクタにサブモジュールの初期化リストが必要(style)
  7. 3. 5 構造記述の記述スタイル