AspectC++の続き。
このツールは結構クセがある。
まず動作モードが2つ
- 全体コンパイルモード(Whole Program Transformation, WTL)
- モジュールコンパイルモード(Single Translation Unit, STU)
WTLでは、プロジェクトのソースツリーを全部コンパイルするのに対し、STUはファイル単位でコンパイルする。
WTLモードの使い方はこんな感じ。
$ ac++ -p original -d weaved
STUモードだと、-cをつける。
- a.cc に xx.ah アスペクトを適用して、a.weaved.ccに出力。
$ ac++ -c a.cc -a xx.ah -o a.weaved.cc -p.
STUモードでも下層ディレクトリを全部見ようとするとんでも仕様は何とかならないものか。
多分続く。