是否有用于 Visual C++ 编译器的gcc-xml等效或类似工具,可以反映 C++ 源代码的内部结构?
我的目标是通过使用 C++(本机 C++)源或头文件作为输入来生成输出,这样:
- 处理所有预处理器指令。(这已经可以通过 /P、/E 或 /EP 编译器开关来实现。)
- 所有
typedef
s 都扩展为它们的基本类型。 - 获得所有变量/函数/类/成员名称及其签名的列表。
- 可选地,可以获得所有实例化模板类的列表。
例如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++完成”。
任何可以解决至少一个后续功能或指导我完成目标的解决方案或解决方法都值得赞赏。