C++ ソース コードの内部構造を反映できる、Visual C++ コンパイラ用のgcc-xmlに相当するツールまたは類似のツールはありますか?
私の目標は、次のような入力として C++ (ネイティブ C++) ソースまたはヘッダー ファイルを使用して出力を生成することです。
- すべてのプリプロセッサ ディレクティブが処理されます。(これは、/P、/E、または /EP コンパイラ スイッチを使用して既に実現できます。)
- すべて
typedef
の がその基本型に展開されます。 - すべての変数/関数/クラス/メンバーの名前とその署名のリストが取得されます。
- 必要に応じて、インスタンス化されたすべてのテンプレート クラスのリストを取得できます。
例としてtypedef
、このコード:
typedef string my_type;
my_type s1;
次のように拡張されます:
std::basic_string<char, std::char_traits<char>, std::allocator<char> > s1;
または私をこれに導くことができる何か。
これは、 gcc-xml ( gccを中間コンパイラとして使用)、または多数の非 MSVC オプションを使用することで実現できることを知っています。ただし、重要な要件は「コンパイルはすべて VC++ で行う」ことです。
後の機能の少なくとも 1 つを解決できる、または目標を達成するためのガイドとなる解決策または回避策を歓迎します。