2011年10月2日日曜日

CLangでクラスの中身を調べる:Rebuild(1)

こんなの見つけた。

今までの苦労は・・・と一瞬思ったが、バージョン違いのせいかそのままではビルドが通らなかったり、変なビルドエラーが出たりする。
こいつのTutorial6を元にしてビルドが通るよう修正しながら動作を見ていくことにする。

まず気づいた点:
  • LangOptionsをきちんと設定しなければならない。たとえばMicrosoft拡張仕様をtrueにしないと__int64が正しく認識されなかったりする。
  • 色々とグローバル関数があって、それを利用して各インスタンスを初期化していく。ヘッダ検索はApplyHeaderSearchOptions()、プリプロセッサはInitializePreprocessor()など。
  • TextDiagnosticPrinter::BeginSourceFile()は、やっぱり自分でコールしなければならない。

0 件のコメント:

コメントを投稿