我有大量手写的C ++源代码(即WebKit和其他开源代码)。
我想要一个工具:
与相关问题C++ to UML (Reverse engineer / Round-trip engineering)不同,我不需要它:
相反,解析应用程序和系统头文件(包括模板类型和typedef)中的类型声明就足够了。我有所有头文件的列表。
我更喜欢它,如果它可以处理预处理器定义(尤其是#include和#if),但我可以预处理,如果这是必要的;和/或以各种格式制作或制作文件。
答案 0 :(得分:2)
你总是可以使用doxygen,它会为你提供关于你的标题集的完整文档(继承,用法......)它还可以从类层次结构中生成图形。
答案 1 :(得分:1)
另一种可能性是自定义您自己的工具,通过扩展现有的C ++编译器
您可以扩展两个编译器:
扩展GCC是我(偏见)观点的好方法。但我承认(即使有了MELT的帮助)这也是非常重要的,因为你需要部分理解GCC的主要内部表示(Gimple,Tree)和内部传递。 (我猜你在LLVM / Clang中遇到同样的问题:要扩展它你需要理解它。)
GCC扩展(在MELT中)或插件(在C中)主要用于Gimple表示(模板扩展后)。
如果对使用MELT感兴趣,请随时向我提出更多要求。
存在一些昂贵的专有工具,例如coverity - 但是价格昂贵,我不知道他们能做什么。