是否有 gcc-xml 等效或类似的Visual C ++编译器工具,它可以反映C ++源代码的内部结构?
我的目标是通过使用C ++(本机C ++)源或头文件作为输入来生成输出,以便:
typedef
扩展为其基本类型。作为typedef
示例,此代码:
typedef string my_type;
my_type s1;
扩展为:
std::basic_string<char, std::char_traits<char>, std::allocator<char> > s1;
或者可以让我接触到的东西。
我知道这可以通过使用 gcc-xml ( gcc 作为中间编译器)或a number of non-MSVC options来实现。然而,重要的要求是“编译全部由VC ++完成”。
任何可以解决至少一个后期功能或指导我完成目标的解决方案或解决方法都表示赞赏。
答案 0 :(得分:1)
Semantic Designs(我的公司)提供DMS软件重组工具包,其中包含用于各种C ++方言的C ++解析器,包括MS Visual Studio。
DMS并非专门用于生成您想要的数据,但它可以很容易地生成它。 DMS by design是一个可自定义的实用工具,需要一些配置才能获得自定义答案。在您的情况下,几乎所有您想要的东西都可以在DMS的C ++符号表中找到,因此自定义将是“遍历符号表,格式化并提取您想要的内容”。有一套完整的API支持这样做(以及许多其他有用的程序分析/操作任务)。